Skip to content
Franken Zeng edited this page Jan 31, 2018 · 4 revisions

金山云FFmpeg主页

金山云对FFmpeg RTMP/FLV部分做了扩展,用于支持H.265。

针对《video_file_format_spec_v10_1》 VIDEODATA部分扩展如下:

1. VIDEODATA

The VideoTagHeader contains video-specific metadata.

VideoTagHeader

Field Type Comment
Frame Type UB [4] Frame Type Type of video frame. The following values are defined:
1 = key frame (for AVC and HEVC, a seekable frame)
2 = inter frame (for AVC and HEVC, a non-seekable frame)
3 = disposable inter frame (H.263 only)
4 = generated key frame (reserved for server use only)
5 = video info/command frame
CodecID UB [4] Codec Identifier. The following values are defined:
2 = Sorenson H.263
3 = Screen video
4 = On2 VP6
5 = On2 VP6 with alpha channel
6 = Screen video version 2
7 = AVC
12=HEVC
HVCPacketType IF CodecID == 12
UI8
The following values are defined:
0 = HEVC sequence header
1 = HEVC NALU
2 = HEVC end of sequence (lower level NALU sequence ender is not required or supported
CompositionTime IF CodecID==7 OR CodecID == 12
SI24
IF AVCPacketType == 1 OR HVCPacketType == 1
Composition time offset
ELSE
0
See ISO 14496-12, 8.15.3 for an explanation of composition times. The offset in an FLV file is always in milliseconds.
VideoTagBody IF FrameType == 5
UI8
ELSE (
IF CodecID == 2
H263VIDEOPACKET
IF CodecID == 3
SCREENVIDEOPACKET
IF CodecID == 4
VP6FLVVIDEOPACKET
IF CodecID == 5
VP6FLVALPHAVIDEOPACKET
IF CodecID == 6
SCREENV2VIDEOPACKET
IF CodecID == 7
AVCVIDEOPACKET
IF CodecID == 12
HVCVIDEOPACKET
)
Video frame payload or frame info
If FrameType == 5, instead of a video payload, the Video Data Body contains a UI8 with the following meaning:
0 = Start of client-side seeking video frame sequence
1 = End of client-side seeking video frame sequence
For all but AVCVIDEOPACKET or HVCVIDEOPACKET, see the SWF File
Format Specification for details

2. 使用说明

请见使用说明

3. H.265 直播推拉流简易说明

请见推拉流说明

4. 反馈与建议

金山云计算

Clone this wiki locally