[FFmpeg-trac] #8753(undetermined:new): AV1 stream metadata missing level and tier
FFmpeg
trac at avcodec.org
Tue Jun 23 20:11:49 EEST 2020
#8753: AV1 stream metadata missing level and tier
-------------------------------------+-------------------------------------
Reporter: gordon | Type: defect
Status: new | Priority: normal
Component: | Version:
undetermined | unspecified
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
I've compiled ffmpeg/probe from snapshot.
The data output by ffprobe doesn't seem to indicate the level and tier for
AV1 streams.
This information is needed to generate the codec param required for
browsers.
https://aomediacodec.github.io/av1-isobmff/#codecsparam defines the codec
representation as:
<sample entry
4CC>.<profile>.<level><tier>.<bitDepth>.<monochrome>.<chromaSubsampling>.<colorPrimaries>.<transferCharacteristics>.<matrixCoefficients>.<videoFullRangeFlag>
The values after bitDepth are optional. However, level and tier are
required.
The sample entry is 'av01' constant.
The profile is provided in ffprobe output (i.e. Main == 0)
The bitdepth can be determined from 'pix_fmt' in ffprobe output
However, the level and tier do not seem to be computable from the
information provided.
I get this metadata from ffprobe:
{{{
{
"format": {
"bit_rate": "151953",
"duration": "29.833333",
"filename":
"/tmp/6485a47accb348c6a59faf2522f1b5e1/output/948900038b8746b9936e96ccf35e2f72.mp4",
"format_long_name": "QuickTime / MOV",
"format_name": "mov,mp4,m4a,3gp,3g2,mj2",
"nb_programs": 0,
"nb_streams": 1,
"probe_score": 100,
"size": "566660",
"start_time": "0.000000",
"tags": {
"compatible_brands": "iso5iso6mp41",
"encoder": "Lavf58.46.101",
"major_brand": "iso5",
"minor_version": "512"
}
},
"streams": [
{
"avg_frame_rate": "12/1",
"bit_rate": "121914",
"closed_captions": 0,
"codec_long_name": "Alliance for Open Media AV1",
"codec_name": "av1",
"codec_tag": "0x31307661",
"codec_tag_string": "av01",
"codec_time_base": "1/12",
"codec_type": "video",
"coded_height": 120,
"coded_width": 160,
"color_range": "tv",
"disposition": {
"attached_pic": 0,
"clean_effects": 0,
"comment": 0,
"default": 1,
"dub": 0,
"forced": 0,
"hearing_impaired": 0,
"karaoke": 0,
"lyrics": 0,
"original": 0,
"timed_thumbnails": 0,
"visual_impaired": 0
},
"duration": "29.833333",
"duration_ts": 366592,
"has_b_frames": 0,
"height": 120,
"index": 0,
"level": -99,
"pix_fmt": "yuv420p",
"profile": "Main",
"r_frame_rate": "12/1",
"refs": 1,
"start_pts": 0,
"start_time": "0.000000",
"tags": {
"handler_name": "VideoHandler",
"language": "und"
},
"time_base": "1/12288",
"width": 160
}
]
}
}}}
Some additional references:
https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Video_codecs
https://aomediacodec.github.io/av1-spec/#annex-a-profiles-and-levels
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8753>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list