HaveAGitGat / Tdarr

Tdarr - Distributed transcode automation using FFmpeg/HandBrake + Audio/Video library analytics + video health checking (Windows, macOS, Linux & Docker)
Other
2.94k stars 92 forks source link

Video files with embedded jpg images not being detected as videos #113

Closed azcom closed 4 years ago

azcom commented 4 years ago

When a video file has embedded images it fails to pass the filter set to only process video files.

In my case Tdarr had processed everything in my libraries aside from 5 separate mkv files, all from different sources at very different times that all remained untouched. Tdarr placed them into the 'Transcode: Not Required' list with the reason given as 'Not a Video file'. The common factor with all 5 files were the presence of 4 embedded jpg image attachments. Once I removed the jpgs from the mkv files and ran a rescan they then got picked up by Tdarr and transcoded.

I would expect a video file containing embedded jpg images to still be seen as a video file and transcoded.

HaveAGitGat commented 4 years ago

To confirm, were they mjpegs? Should be related to this issue: https://github.com/HaveAGitGat/Tdarr/issues/94

Will push the fix this weekend.

azcom commented 4 years ago

To confirm, were they mjpegs? Should be related to this issue:

94

Will push the fix this weekend.

Nope. Standard JPG images. 4 in total on most of them. It appeared to be some sort of embedded cover art from the names show in mkvinfo. I never viewed the actual images though before I removed them.

HaveAGitGat commented 4 years ago

@azcom

Okay, do you have a sample file at all? Thanks.

azcom commented 4 years ago

@azcom

Okay, do you have a sample file at all? Thanks.

I had dealt with them all manually but as it happens i've just got a new one hit the queue. Here is a screenshot from the attachments tab of MKVToolNix GUI showing what's in there and that they are JPG images, however the corresponding screenshot i've also attached from Tdarr is showing them as MJPG!

mkv_embedded_jpgs

tdarr_embedded_jpgs

Also as you can see below in the queue it shows no video information: queue_embedded_jpgs

HaveAGitGat commented 4 years ago

Oh ok well the mjpeg part explains why Tdarr isn't detecting it as a video. This weekend's fix will sort that out.

The video info not being shown is perculiar though. Are you able to click the 'i' info button and paste the file details here?

azcom commented 4 years ago

{ "_id": "//HTPC/Videos/Movies/Pegasus (2019)/Pegasus (2019) [x264] Bluray-1080p.mkv", "meta": { "SourceFile": "//HTPC/Videos/Movies/Pegasus (2019)/Pegasus (2019) [x264] Bluray-1080p.mkv", "errors": [], "Duration": 5894.337, "DefaultDuration": 0.010666667, "ExifToolVersion": 11.65, "FileName": "Pegasus (2019) [x264] Bluray-1080p.mkv", "Directory": "//HTPC/Videos/Movies/Pegasus (2019)", "FileSize": "9.0 GB", "FileModifyDate": { "year": 2020, "month": 1, "day": 17, "hour": 12, "minute": 3, "second": 3, "millisecond": 0, "tzoffsetMinutes": 0, "rawValue": "2020:01:17 12:03:03+00:00" }, "FileAccessDate": { "year": 2020, "month": 1, "day": 17, "hour": 12, "minute": 11, "second": 11, "millisecond": 0, "tzoffsetMinutes": 0, "rawValue": "2020:01:17 12:11:11+00:00" }, "FileCreateDate": { "year": 2020, "month": 1, "day": 17, "hour": 12, "minute": 3, "second": 15, "millisecond": 0, "tzoffsetMinutes": 0, "rawValue": "2020:01:17 12:03:15+00:00" }, "FilePermissions": "r--r--r--", "FileType": "MKV", "FileTypeExtension": "mkv", "MIMEType": "video/x-matroska", "EBMLVersion": 1, "EBMLReadVersion": 1, "DocType": "matroska", "DocTypeVersion": 4, "DocTypeReadVersion": 2, "TimecodeScale": "1 ms", "MuxingApp": "libebml v1.3.10 + libmatroska v1.5.2", "WritingApp": "mkvmerge v42.0.0 ('Overtime') 64-bit", "DateTimeOriginal": { "year": 2020, "month": 1, "day": 17, "hour": 7, "minute": 55, "second": 44, "millisecond": 0, "tzoffsetMinutes": 0, "rawValue": "2020:01:17 07:55:44Z" }, "VideoCodecID": "V_MPEG4/ISO/AVC", "VideoFrameRate": 24, "ImageWidth": 1920, "ImageHeight": 756, "DisplayWidth": 1920, "DisplayHeight": 756, "AudioCodecID": "A_DTS", "AudioSampleRate": 48000, "AudioChannels": 6, "AudioBitsPerSample": 16, "TrackNumber": 5, "TrackType": "Subtitle", "TrackDefault": "No", "CodecID": "S_TEXT/UTF8", "TrackLanguage": "chi", "TrackName": "繁体", "AttachedFileName": "cover_land.jpg", "AttachedFileMIMEType": "image/jpeg", "AttachedFileData": "(Binary data 24552 bytes, use -b option to extract)", "AttachedFileUID": "9331640209325496151", "ImageSize": "1920x756", "Megapixels": 1.5 }, "container": "mkv", "ffProbeRead": "success", "ffProbeData": { "streams": [ { "index": 0, "codec_name": "h264", "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10", "profile": "High", "codec_type": "video", "codec_time_base": "1/48", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "width": 1920, "height": 756, "coded_width": 1920, "coded_height": 768, "has_b_frames": 2, "sample_aspect_ratio": "1:1", "display_aspect_ratio": "160:63", "pix_fmt": "yuv420p", "level": 41, "chroma_location": "left", "field_order": "progressive", "refs": 1, "is_avc": "true", "nal_length_size": "4", "r_frame_rate": "24/1", "avg_frame_rate": "24/1", "time_base": "1/1000", "start_pts": 0, "start_time": "0.000000", "bits_per_raw_sample": "8", "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 }, "tags": { "language": "eng", "BPS-eng": "11552797", "DURATION-eng": "01:38:14.334000000", "NUMBER_OF_FRAMES-eng": "141464", "NUMBER_OF_BYTES-eng": "8512006199", "_STATISTICS_WRITING_APP-eng": "mkvmerge v42.0.0 ('Overtime') 64-bit", "_STATISTICS_WRITING_DATE_UTC-eng": "2020-01-17 07:55:44", "_STATISTICS_TAGS-eng": "BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES" } }, { "index": 1, "codec_name": "dts", "codec_long_name": "DCA (DTS Coherent Acoustics)", "profile": "DTS", "codec_type": "audio", "codec_time_base": "1/48000", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "sample_fmt": "fltp", "sample_rate": "48000", "channels": 6, "channel_layout": "5.1(side)", "bits_per_sample": 0, "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/1000", "start_pts": 0, "start_time": "0.000000", "bit_rate": "1536000", "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 }, "tags": { "language": "chi", "BPS-eng": "1509000", "DURATION-eng": "01:38:14.337000000", "NUMBER_OF_FRAMES-eng": "552594", "NUMBER_OF_BYTES-eng": "1111819916", "_STATISTICS_WRITING_APP-eng": "mkvmerge v42.0.0 ('Overtime') 64-bit", "_STATISTICS_WRITING_DATE_UTC-eng": "2020-01-17 07:55:44", "_STATISTICS_TAGS-eng": "BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES" } }, { "index": 2, "codec_name": "subrip", "codec_long_name": "SubRip subtitle", "codec_type": "subtitle", "codec_time_base": "0/1", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/1000", "start_pts": 0, "start_time": "0.000000", "duration_ts": 5894337, "duration": "5894.337000", "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 }, "tags": { "language": "eng", "BPS-eng": "68", "DURATION-eng": "01:35:34.208000000", "NUMBER_OF_FRAMES-eng": "1506", "NUMBER_OF_BYTES-eng": "49117", "_STATISTICS_WRITING_APP-eng": "mkvmerge v42.0.0 ('Overtime') 64-bit", "_STATISTICS_WRITING_DATE_UTC-eng": "2020-01-17 07:55:44", "_STATISTICS_TAGS-eng": "BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES" } }, { "index": 3, "codec_name": "subrip", "codec_long_name": "SubRip subtitle", "codec_type": "subtitle", "codec_time_base": "0/1", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/1000", "start_pts": 0, "start_time": "0.000000", "duration_ts": 5894337, "duration": "5894.337000", "disposition": { "default": 0, "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 }, "tags": { "language": "chi", "title": "简体", "BPS-eng": "53", "DURATION-eng": "01:31:17.209000000", "NUMBER_OF_FRAMES-eng": "1237", "NUMBER_OF_BYTES-eng": "36581", "_STATISTICS_WRITING_APP-eng": "mkvmerge v42.0.0 ('Overtime') 64-bit", "_STATISTICS_WRITING_DATE_UTC-eng": "2020-01-17 07:55:44", "_STATISTICS_TAGS-eng": "BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES" } }, { "index": 4, "codec_name": "subrip", "codec_long_name": "SubRip subtitle", "codec_type": "subtitle", "codec_time_base": "0/1", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "r_frame_rate": "0/0", "avg_frame_rate": "0/0", "time_base": "1/1000", "start_pts": 0, "start_time": "0.000000", "duration_ts": 5894337, "duration": "5894.337000", "disposition": { "default": 0, "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 }, "tags": { "language": "chi", "title": "繁体", "BPS-eng": "53", "DURATION-eng": "01:31:17.209000000", "NUMBER_OF_FRAMES-eng": "1237", "NUMBER_OF_BYTES-eng": "36581", "_STATISTICS_WRITING_APP-eng": "mkvmerge v42.0.0 ('Overtime') 64-bit", "_STATISTICS_WRITING_DATE_UTC-eng": "2020-01-17 07:55:44", "_STATISTICS_TAGS-eng": "BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES" } }, { "index": 5, "codec_name": "mjpeg", "codec_long_name": "Motion JPEG", "profile": "192", "codec_type": "video", "codec_time_base": "0/1", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "width": 120, "height": 176, "coded_width": 120, "coded_height": 176, "has_b_frames": 0, "pix_fmt": "yuvj444p", "level": -99, "color_range": "pc", "color_space": "bt470bg", "chroma_location": "center", "refs": 1, "r_frame_rate": "90000/1", "avg_frame_rate": "0/0", "time_base": "1/90000", "start_pts": 0, "start_time": "0.000000", "duration_ts": 530490330, "duration": "5894.337000", "bits_per_raw_sample": "8", "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 1, "timed_thumbnails": 0 }, "tags": { "filename": "small_cover.jpg", "mimetype": "image/jpeg" } }, { "index": 6, "codec_name": "mjpeg", "codec_long_name": "Motion JPEG", "profile": "192", "codec_type": "video", "codec_time_base": "0/1", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "width": 213, "height": 120, "coded_width": 213, "coded_height": 120, "has_b_frames": 0, "pix_fmt": "yuvj444p", "level": -99, "color_range": "pc", "color_space": "bt470bg", "chroma_location": "center", "refs": 1, "r_frame_rate": "90000/1", "avg_frame_rate": "0/0", "time_base": "1/90000", "start_pts": 0, "start_time": "0.000000", "duration_ts": 530490330, "duration": "5894.337000", "bits_per_raw_sample": "8", "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 1, "timed_thumbnails": 0 }, "tags": { "filename": "small_cover_land.jpg", "mimetype": "image/jpeg" } }, { "index": 7, "codec_name": "mjpeg", "codec_long_name": "Motion JPEG", "profile": "192", "codec_type": "video", "codec_time_base": "0/1", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "width": 600, "height": 882, "coded_width": 600, "coded_height": 882, "has_b_frames": 0, "pix_fmt": "yuvj444p", "level": -99, "color_range": "pc", "color_space": "bt470bg", "chroma_location": "center", "refs": 1, "r_frame_rate": "90000/1", "avg_frame_rate": "0/0", "time_base": "1/90000", "start_pts": 0, "start_time": "0.000000", "duration_ts": 530490330, "duration": "5894.337000", "bits_per_raw_sample": "8", "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 1, "timed_thumbnails": 0 }, "tags": { "filename": "cover.jpg", "mimetype": "image/jpeg" } }, { "index": 8, "codec_name": "mjpeg", "codec_long_name": "Motion JPEG", "profile": "192", "codec_type": "video", "codec_time_base": "0/1", "codec_tag_string": "[0][0][0][0]", "codec_tag": "0x0000", "width": 1067, "height": 600, "coded_width": 1067, "coded_height": 600, "has_b_frames": 0, "pix_fmt": "yuvj444p", "level": -99, "color_range": "pc", "color_space": "bt470bg", "chroma_location": "center", "refs": 1, "r_frame_rate": "90000/1", "avg_frame_rate": "0/0", "time_base": "1/90000", "start_pts": 0, "start_time": "0.000000", "duration_ts": 530490330, "duration": "5894.337000", "bits_per_raw_sample": "8", "disposition": { "default": 0, "dub": 0, "original": 0, "comment": 0, "lyrics": 0, "karaoke": 0, "forced": 0, "hearing_impaired": 0, "visual_impaired": 0, "clean_effects": 0, "attached_pic": 1, "timed_thumbnails": 0 }, "tags": { "filename": "cover_land.jpg", "mimetype": "image/jpeg" } } ] }, "file_size": 9625.967769, "bit_rate": null, "fileMedium": "audio", "audio_codec_name": "h264", "file": "//HTPC/Videos/Movies/Pegasus (2019)/Pegasus (2019) [x264] Bluray-1080p.mkv", "DB": "ZtjSh6T2iPcTw6Art", "processingStatus": false, "createdAt": "2020-01-17T13:49:14.707Z", "statSync": { "dev": 305419896, "mode": 33060, "nlink": 1, "uid": 0, "gid": 0, "rdev": 0, "ino": 1749085505280034800, "size": 9625967769, "atimeMs": 1579263071501.5776, "mtimeMs": 1579262583104.4944, "ctimeMs": 1579262583104.4944, "birthtimeMs": 1579262595424.8098, "atime": "2020-01-17T12:11:11.502Z", "mtime": "2020-01-17T12:03:03.104Z", "ctime": "2020-01-17T12:03:03.104Z", "birthtime": "2020-01-17T12:03:15.425Z" }, "HealthCheck": "Queued", "TranscodeDecisionMaker": "Queued", "cliLog": "\n", "bumped": false, "history": "-------------------------------------\nDate:2020-01-17T13:49:14.707Z\nSize:9.626GB\nStreams:\n<table className=\"streamsTable\">

h264

video

-

eng

-

dts

audio

1.536 Mbs

chi

-

subrip

subtitle

-

eng

-

subrip

subtitle

-

chi

简体

subrip

subtitle

-

chi

繁体

mjpeg

video

-

-

-

mjpeg

video

-

-

-

mjpeg

video

-

-

-

mjpeg

video

-

-

-

", "tPosition": 13, "hPosition": 0 }

HaveAGitGat commented 4 years ago

Thanks. This weekend's upate should fix this issue too.

HaveAGitGat commented 4 years ago

Please try 1.102. Should now be fixed.

HaveAGitGat commented 4 years ago

Let me know if you encounter this issue again.