Skip to content

mjpeg picture in mkv are considered as video stream #1274

@grimlokason

Description

@grimlokason

Describe the bug
Hello,

The picture attached in mkv file are considered as video if they are in mjpeg format,
probably a side effect of this : #94

Image

Since they are considered as video, tdarr is trying to process it as a video stream as seen in that log :
FFmpeg execution command :
ffmpeg -y -i in.mkv -map 0:0 -c:0 libsvtav1 -crf 30 -vf crop=1920:1072:0:4 -map 0:1 -c:1 copy -map 0:2 -c:2 copy -map 0:3 -c:3 copy -map 0:4 -c:4 copy -map 0:5 -c:5 copy -map 0:6 -c:6 copy -map 0:7 -c:7 copy -map 0:8 -vf crop=1920:1072:0:4 -svtav1-params preset=3:tune=0:aq-mode=2 -pix_fmt yuv420p10le out.mkv

2025-10-17T23:10:58.184Z Stream #0:8: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 640x360 [SAR 72:72 DAR 16:9], 90k tbr, 90k tbn (attached pic)
2025-10-17T23:10:58.184Z Metadata:
2025-10-17T23:10:58.184Z filename : planet-terror-cover.jpg
2025-10-17T23:10:58.184Z mimetype : image/jpeg
2025-10-17T23:10:58.184Z [vost#0:0/libsvtav1 @ 0000027a262ec680] Multiple -filter/-af/-vf options specified for stream 0, only the last option '-filter:v crop=1920:1072:0:4' will be used.
2025-10-17T23:10:58.184Z [vost#0:8/libx264 @ 0000027a274b8040] Multiple -filter/-af/-vf options specified for stream 8, only the last option '-filter:v crop=1920:1072:0:4' will be used.
2025-10-17T23:10:58.184Z Stream mapping:
2025-10-17T23:10:58.184Z Stream #0:0 -> #0:0 (h264 (native) -> av1 (libsvtav1))
2025-10-17T23:10:58.184Z Stream #0:1 -> #0:1 (copy)
2025-10-17T23:10:58.184Z Stream #0:2 -> #0:2 (copy)
2025-10-17T23:10:58.184Z Stream #0:3 -> #0:3 (copy)
2025-10-17T23:10:58.184Z Stream #0:4 -> #0:4 (copy)
2025-10-17T23:10:58.184Z Stream #0:5 -> #0:5 (copy)
2025-10-17T23:10:58.184Z Stream #0:6 -> #0:6 (copy)
2025-10-17T23:10:58.184Z Stream #0:7 -> #0:7 (copy)
2025-10-17T23:10:58.184Z Stream #0:8 -> #0:8 (mjpeg (native) -> h264 (libx264)) 

To Reproduce
Add a mjpeg picture in a mkv file and try to process it.

Expected behavior
it should not be included in the list of stream neither be processed as a video stream.

The expected command should be :
ffmpeg -y -i in.mkv -map 0:0 -c:0 libsvtav1 -crf 30 -vf crop=1920:1072:0:4 -map 0:1 -c:1 copy -map 0:2 -c:2 copy -map 0:3 -c:3 copy -map 0:4 -c:4 copy -map 0:5 -c:5 copy -map 0:6 -c:6 copy -map 0:7 -c:7 copy -svtav1-params preset=3:tune=0:aq-mode=2 -pix_fmt yuv420p10le out.mkv

Edit : the same happen with jpg attached files

Thank in advance !

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions