ffmpeg-kit
ffmpeg-kit copied to clipboard
FFprobeKit.getMediaInformation().mediaInformation cannot parse AV1-encoded video information correctly
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
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:
- Use an
ffmpeg-kit
package that hasdav1d
inside e.g.video
,full
,full-gpl
. They don't fail and process theav1
headers successfully - 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 , 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.
fixed on the development
branch.