[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