ffmpeg-kit icon indicating copy to clipboard operation
ffmpeg-kit copied to clipboard

FFprobeKit.getMediaInformation().mediaInformation cannot parse AV1-encoded video information correctly

Open tasy5kg opened this issue 2 years ago • 2 comments

FFprobeKit.getMediaInformation("av1_encoded_video.mkv").mediaInformation will returns null, even if the media information can be read.

AV1-encoded video sample (0.2MB)


saf:26.mkv is the AV1-encoded video sample above.

Code fragment:

FFprobeKit.getMediaInformation("saf:26.mkv")

Result:

MediaInformationSession{sessionId=26, createTime=Thu Aug 11 22:55:01 GMT+08:00 2022, startTime=Thu Aug 11 22:55:01 GMT+08:00 2022, endTime=Thu Aug 11 22:55:02 GMT+08:00 2022, arguments=-v error -hide_banner -print_format json -show_format -show_streams -show_chapters -i saf:26.mkv, logs={
[av1 @ 0xb400007ae42abc00] Your platform doesn't suppport hardware accelerated AV1 decoding.
[av1 @ 0xb400007ae42abc00] Failed to get pixel format.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
    "streams": [
        {
            "index": 0,
            "codec_name": "av1",
            "codec_long_name": "unknown",
            "profile": "0",
            "codec_type": "video",
            "codec_tag_string": "[0][0][0][0]",
            "codec_tag": "0x0000",
            "width": 240,
            "height": 426,
            "coded_width": 240,
            "coded_height": 426,
            "closed_captions": 0,
            "has_b_frames": 0,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "40:71",
            "level": 0,
            "color_range": "tv",
            "color_space": "smpte170m",
            "color_transfer": "smpte170m",
            "color_primaries": "bt470bg",
            "chroma_location": "left",
            "field_order": "progressive",
            "refs": 1,
            "r_frame_rate": "355/12",
            "avg_frame_rate": "355/12",
            "time_base": "1/1000",
            "start_pts": 0,
            "start_time": "0.000000",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            },
            "tags": {
                "language": "eng",
                "HANDLER_NAME": "VideoHandle",
                "VENDOR_ID": "[0][0][0][0]",
                "ENCODER": "Lavc59.33.100 libaom-av1",
                "DURATION": "00:00:10.580000000"
            }
        }
    ],
    "chapters": [

    ],
    "format": {
        "filename": "saf:26.mkv",
        "nb_streams": 1,
        "nb_programs": 0,
        "format_name": "matroska,webm",
        "start_time": "0.000000",
        "duration": "10.580000",
        "size": "291892",
        "bit_rate": "220712",
        "probe_score": 100,
        "tags": {
            "COM.ANDROID.VERSION": "12",
            "MAJOR_BRAND": "mp42",
            "MINOR_VERSION": "0",
            "COMPATIBLE_BRANDS": "isommp42",
            "ENCODER": "Lavf59.24.100"
        }
    }
}
, state=FAILED, returnCode=0, failStackTrace='
org.json.JSONException: Unterminated array at character 8 of {
[av1 @ 0xb400007ae42abc00] Your platform doesn't suppport hardware accelerated AV1 decoding.
[av1 @ 0xb400007ae42abc00] Failed to get pixel format.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
[av1 @ 0xb400007ae42abc00] Missing Sequence Header.
    "streams": [
        {
            "index": 0,
            "codec_name": "av1",
            "codec_long_name": "unknown",
            "profile": "0",
            "codec_type": "video",
            "codec_tag_string": "[0][0][0][0]",
            "codec_tag": "0x0000",
            "width": 240,
            "height": 426,
            "coded_width": 240,
            "coded_height": 426,
            "closed_captions": 0,
            "has_b_frames": 0,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "40:71",
            "level": 0,
            "color_range": "tv",
            "color_space": "smpte170m",
            "color_transfer": "smpte170m",
            "color_primaries": "bt470bg",
            "chroma_location": "left",
            "field_order": "progressive",
            "refs": 1,
            "r_frame_rate": "355/12",
            "avg_frame_rate": "355/12",
            "time_base": "1/1000",
            "start_pts": 0,
            "start_time": "0.000000",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            },
            "tags": {
                "language": "eng",
                "HANDLER_NAME": "VideoHandle",
                "VENDOR_ID": "[0][0][0][0]",
                "ENCODER": "Lavc59.33.100 libaom-av1",
                "DURATION": "00:00:10.580000000"
            }
        }
    ],
    "chapters": [

    ],
    "format": {
        "filename": "saf:26.mkv",
        "nb_streams": 1,
        "nb_programs": 0,
        "format_name": "matroska,webm",
        "start_time": "0.000000",
        "duration": "10.580000",
        "size": "291892",
        "bit_rate": "220712",
        "probe_score": 100,
        "tags": {
            "COM.ANDROID.VERSION": "12",
            "MAJOR_BRAND": "mp42",
            "MINOR_VERSION": "0",
            "COMPATIBLE_BRANDS": "isommp42",
            "ENCODER": "Lavf59.24.100"
        }
    }
}

	at org.json.JSONTokener.syntaxError(JSONTokener.java:460)
	at org.json.JSONTokener.readArray(JSONTokener.java:450)
	at org.json.JSONTokener.nextValue(JSONTokener.java:107)
	at org.json.JSONTokener.readObject(JSONTokener.java:371)
	at org.json.JSONTokener.nextValue(JSONTokener.java:104)
	at org.json.JSONObject.<init>(JSONObject.java:168)
	at org.json.JSONObject.<init>(JSONObject.java:185)
	at com.arthenica.ffmpegkit.MediaInformationJsonParser.fromWithError(MediaInformationJsonParser.java:65)
	at org.json.JSONTokener.syntaxError(JSONTokener.java:460)
	at org.json.JSONTokener.readArray(JSONTokener.java:450)
	at org.json.JSONTokener.nextValue(JSONTokener.java:107)
	at org.json.JSONTokener.readObject(JSONTokener.java:371)
	at org.json.JSONTokener.nextValue(JSONTokener.java:104)
	at org.json.JSONObject.<init>(JSONObject.java:168)
	at org.json.JSONObject.<init>(JSONObject.java:185)
	at com.arthenica.ffmpegkit.FFmpegKitConfig.getMediaInformationExecute(FFmpegKitConfig.java:699)
	at org.json.JSONTokener.syntaxError(JSONTokener.java:460)
	at org.json.JSONTokener.readArray(JSONTokener.java:450)
	at org.json.JSONTokener.nextValue(JSONTokener.java:107)
	at org.json.JSONTokener.readObject(JSONTokener.java:371)
	at org.json.JSONTokener.nextValue(JSONTokener.java:104)
	at org.json.JSONObject.<init>(JSONObject.java:168)
	at org.json.JSONObject.<init>(JSONObject.java:185)
	at com.arthenica.ffmpegkit.FFprobeKit.getMediaInformation(FFprobeKit.java:276)'}

Code fragment:

FFprobeKit.getMediaInformation("saf:26.mkv").mediaInformation

Result:

null

Expected behavior

FFprobeKit.getMediaInformation().mediaInformation could prase correct AV1-encoded video infomation.


Environment

  • Platform: Android
  • Architecture: arm64-v8a
  • Version: com.arthenica:ffmpeg-kit-min:4.5.1-1
  • Android Studio version: 2021.2.1 Patch 2

tasy5kg avatar Aug 11 '22 15:08 tasy5kg

In our Android API, FFprobeKit.getMediaInformation("av1_encoded_video.mkv").mediaInformation is not a valid call., FFprobeKit.getMediaInformation() returns a MediaInformationSession object. And that class doesn't have a public field or method named mediaInformation. We do have getMediaInformation() to get the media information extracted. I suggest using that.

Anyway, there is an issue there but I'm not sure how to resolve this. The ffmpeg-kit package you use don't have an av1 decoder inside. Because of that ffprobe prints those [av1 @ 0xb400007ae42abc00] Missing Sequence Header. lines which breaks the parsing.

You have two options:

  1. Use an ffmpeg-kit package that has dav1d inside e.g. video, full, full-gpl. They don't fail and process the av1 headers successfully
  2. Use FFprobeKit.getMediaInformationFromCommand method with the following arguments. Those arguments discard the decoding errors. So, parsing never fails.
FFprobeKit.getMediaInformationFromCommand("-v quiet -hide_banner -print_format json -show_format -show_streams -show_chapters -i " + url);

I'll let you know if I find a more elegant solution.

tanersener avatar Aug 11 '22 16:08 tanersener

@tanersener , thank you for your patience in replying.

Sorry, I didn't specify it. FFprobeKit.getMediaInformation("av1_encoded_video.mkv").mediaInformation is property access syntax in Kotlin. It equals FFprobeKit.getMediaInformation("av1_encoded_video.mkv").getMediaInformation() in Java.

Your methods does work. Thanks again for your reply.

tasy5kg avatar Aug 11 '22 16:08 tasy5kg

fixed on the development branch.

tanersener avatar Aug 26 '22 12:08 tanersener