Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
tasy5kg opened this issue Aug 11, 2022 · 3 comments
Assignees
Labels
all-platforms enhancement New feature or request fixed-in-v5.1 library Affects the library v4.5.1 Affects v4.5.1 release

Comments

@tasy5kg
Copy link

tasy5kg commented Aug 11, 2022

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
@tanersener
Copy link
Collaborator

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 tanersener added enhancement New feature or request library Affects the library all-platforms v4.5.1 Affects v4.5.1 release labels Aug 11, 2022
@tasy5kg
Copy link
Author

tasy5kg commented Aug 11, 2022

@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.

@tanersener tanersener self-assigned this Aug 25, 2022
@tanersener tanersener added the fixed-on-development Fixed on the development branch. Not released yet. label Aug 26, 2022
@tanersener
Copy link
Collaborator

fixed on the development branch.

@tanersener tanersener moved this from In Progress to Done in Next FFmpegKit GA Release (July 2022) Aug 26, 2022
@tanersener tanersener added fixed-in-v5.1 and removed fixed-on-development Fixed on the development branch. Not released yet. labels Oct 2, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
all-platforms enhancement New feature or request fixed-in-v5.1 library Affects the library v4.5.1 Affects v4.5.1 release
Projects
None yet
Development

No branches or pull requests

2 participants