Giter VIP home page Giter VIP logo

Comments (12)

ptr727 avatar ptr727 commented on June 4, 2024

There is a test for audio and video track counts before calling the bitrate calculation:

if (MediaInfoInfo.Video.Count == 0 || MediaInfoInfo.Audio.Count == 0)
{
// File is missing required streams
Log.Logger.Error("File missing required tracks : {Name}", FileInfo.Name);
MediaInfoInfo.WriteLine("Invalid");
// Done
break;
}

I wonder if there is a difference in track counts between what ffprobe and mediainfo reports.
Could you possibly share a sample file that exhibits the problem?

from plexcleaner.

Migushthe2nd avatar Migushthe2nd commented on June 4, 2024

Hmm this actually happens with files that do have an audio track as well. These are family videos so I'd rather not share these here publicly.

from plexcleaner.

Migushthe2nd avatar Migushthe2nd commented on June 4, 2024

This is an example wmv file
image

PS D:\Temp\PlexCleaner\win-x64> .\PlexCleaner.exe --settingsfile "PlexCleaner.json" --logfile "PlexCleaner.log" --logappend process --mediafiles "L:\2012"
[18:10:24 INF] Loading settings from : "PlexCleaner.json"
[18:10:24 INF] Logging output to : "PlexCleaner.log"
[18:10:24 INF] Application Version : "2.3.5+Branch.main.Sha.eb592ee4f892d50cb3b0ceb7a17588bd459590c0.eb592ee4f892d50cb3b0ceb7a17588bd459590c0", Runtime Version : "6.0.1"
[18:10:24 INF] Executing FfMpeg : "-version"
[18:10:24 INF] FfMpeg : Version: "4.4.1", Path: "D:\\Temp\\PlexCleaner\\win-x64\\Tools\\FfMpeg\\bin\\ffmpeg.exe"
[18:10:24 INF] Executing FfProbe : "-version"
[18:10:24 INF] FfProbe : Version: "4.4.1", Path: "D:\\Temp\\PlexCleaner\\win-x64\\Tools\\FfMpeg\\bin\\ffprobe.exe"
[18:10:24 INF] Executing MkvMerge : "--version"
[18:10:24 INF] MkvMerge : Version: "64.0.0", Path: "D:\\Temp\\PlexCleaner\\win-x64\\Tools\\MkvToolNix\\mkvmerge.exe"
[18:10:24 INF] Executing MkvPropEdit : "--version"
[18:10:24 INF] MkvPropEdit : Version: "64.0.0", Path: "D:\\Temp\\PlexCleaner\\win-x64\\Tools\\MkvToolNix\\mkvpropedit.exe"
[18:10:24 INF] Executing MediaInfo : "--version"
[18:10:24 INF] MediaInfo : Version: "21.09", Path: "D:\\Temp\\PlexCleaner\\win-x64\\Tools\\MediaInfo\\mediainfo.exe"
[18:10:24 INF] Executing HandBrake : "--version"
[18:10:25] Compile-time hardening features are enabled
[18:10:25] hb_init: starting libhb thread
[18:10:25] thread 1 started ("libhb")
HandBrake has exited.
[18:10:26 INF] HandBrake : Version: "1.4.2", Path: "D:\\Temp\\PlexCleaner\\win-x64\\Tools\\HandBrake\\HandBrakeCLI.exe"
[18:10:26 INF] Executing SevenZip : ""
[18:10:26 INF] SevenZip : Version: "19.00", Path: "D:\\Temp\\PlexCleaner\\win-x64\\Tools\\SevenZip\\x64\\7za.exe"
[18:10:26 INF] Creating file and folder list ...
[18:10:26 INF] Getting files and folders from "L:\\2012" ...
[18:10:26 INF] Discovered 2 directories and 182 files
[18:10:26 INF] Starting "Process", processing 182 files ...
[18:10:26 INF] "Process" (46.15 %) : "L:\\2012\\Video.wmv"
[18:10:26 INF] ReMux file matched by extension : "Video.wmv"
[18:10:26 INF] Executing MkvMerge : "--disable-track-statistics-tags --no-global-tags --no-track-tags --flush-on-close  --output \"L:\\2012\\Video.tmp\" \"L:\\2012\\Video.wmv\""
mkvmerge v64.0.0 ('Willows') 64-bit
Error: The file 'L:\2012\Video.wmv' is a non-supported file type (Windows Media (ASF/WMV)).
[18:10:26 WRN] Executing MkvMerge : ExitCode: 2
[18:10:26 INF] Executing FfMpeg : "-i \"L:\\2012\\Video.wmv\"  -map 0 -codec copy -f matroska \"L:\\2012\\Video.tmp\""
ffmpeg version 4.4.1-full_build-www.gyan.dev Copyright (c) 2000-2021 the FFmpeg developers
  built with gcc 11.2.0 (Rev1, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libdav1d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libglslang --enable-vulkan --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
  libavutil      56. 70.100 / 56. 70.100
  libavcodec     58.134.100 / 58.134.100
  libavformat    58. 76.100 / 58. 76.100
  libavdevice    58. 13.100 / 58. 13.100
  libavfilter     7.110.100 /  7.110.100
  libswscale      5.  9.100 /  5.  9.100
  libswresample   3.  9.100 /  3.  9.100
  libpostproc    55.  9.100 / 55.  9.100
[wmv3 @ 000001db277e6140] Extra data: 8 bits left, value: 0
Guessed Channel Layout for Input Stream #0.1 : stereo
Input #0, asf, from 'L:\2012\Video.wmv':
  Metadata:
    WMFSDKNeeded    : 0.0.0.0000
    DeviceConformanceTemplate: MP@ML
    WMFSDKVersion   : 12.0.7601.17514
    IsVBR           : 0
  Duration: 00:00:59.44, start: 0.000000, bitrate: 1567 kb/s
  Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 426x240, 90k tbr, 90k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Movie/video screen capture
  Stream #0:1(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, stereo, fltp, 48 kb/s
  Stream #0:2(eng): Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p, 426x240, 1500 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
Output #0, matroska, to 'L:\2012\Video.tmp':
  Metadata:
    WMFSDKNeeded    : 0.0.0.0000
    DeviceConformanceTemplate: MP@ML
    WMFSDKVersion   : 12.0.7601.17514
    IsVBR           : 0
    encoder         : Lavf58.76.100
  Stream #0:0: Video: mjpeg (Baseline) (MJPG / 0x47504A4D), yuvj420p(pc, bt470bg/unknown/unknown), 426x240, q=2-31, 90k tbr, 1k tbn, 90k tbc (attached pic)
    Metadata:
      comment         : Movie/video screen capture
  Stream #0:1(eng): Audio: wmav2 (a[1][0][0] / 0x0161), 44100 Hz, stereo, fltp, 48 kb/s
  Stream #0:2(eng): Video: wmv3 (Main) (WMV3 / 0x33564D57), yuv420p, 426x240, q=2-31, 1500 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (copy)
  Stream #0:2 -> #0:2 (copy)
Press [q] to stop, [?] for help
frame=    1 fps=0.0 q=-1.0 Lq=-1.0 size=   11293kB time=00:00:59.39 bitrate=1557.6kbits/s speed= 156x
video:10915kB audio:362kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.144380%
[18:10:26 INF] Waiting for IO to flush : 5s : "Video.mkv"
[18:10:31 INF] Reading media info from tools : "Video.mkv"
[18:10:31 INF] Executing MediaInfo : "--Output=XML \"L:\\2012\\Video.mkv\""
[18:10:32 INF] Executing MkvMerge : "--identify \"L:\\2012\\Video.mkv\" --identification-format json"
[18:10:32 INF] Executing FfProbe : "-loglevel quiet -show_streams -print_format json \"L:\\2012\\Video.mkv\""
[18:10:32 INF] "MediaInfo" : Type: "VideoInfo", Format: "V_MJPEG", HDR: "", Codec: "V_MJPEG", Language: "und", Id: 1, Number: 0, State: None, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[18:10:32 INF] "MediaInfo" : Type: "VideoInfo", Format: "VC-1", HDR: "", Codec: "V_MS/VFW/FOURCC / WMV3", Language: "eng", Id: 3, Number: 2, State: None, Title: "", Default: False, HasErrors: False, Profile: "", Interlaced: False
[18:10:32 INF] "MediaInfo" : Type: "AudioInfo", Format: "WMA", Codec: "A_MS/ACM / 161", Language: "eng", Id: 2, Number: 1, State: None, Title: "", Default: True, HasErrors: False
[18:10:32 INF] "MKVMerge" : Type: "VideoInfo", Format: "V_MJPEG", HDR: "", Codec: "V_MJPEG", Language: "und", Id: 0, Number: 1, State: None, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[18:10:32 INF] "MKVMerge" : Type: "VideoInfo", Format: "0x574d5633 \"WMV3\"", HDR: "", Codec: "V_MS/VFW/FOURCC", Language: "eng", Id: 2, Number: 3, State: None, Title: "", Default: False, HasErrors: False, Profile: "", Interlaced: False
[18:10:32 INF] "MKVMerge" : Type: "AudioInfo", Format: "unknown, format tag 0x0161", Codec: "A_MS/ACM", Language: "eng", Id: 1, Number: 2, State: None, Title: "", Default: True, HasErrors: False
[18:10:32 INF] "FFprobe" : Type: "VideoInfo", Format: "wmv3", HDR: "", Codec: "WMV3", Language: "eng", Id: 2, Number: 2, State: None, Title: "", Default: False, HasErrors: False, Profile: "Main@-99", Interlaced: False
[18:10:32 INF] "FFprobe" : Type: "AudioInfo", Format: "wmav2", Codec: "Windows Media Audio 2", Language: "eng", Id: 1, Number: 1, State: None, Title: "", Default: True, HasErrors: False
[18:10:32 INF] Sidecar created : State: None : "Video.PlexCleaner"
[18:10:32 INF] Sidecar updated : State: ReMuxed, ReNamed : "Video.PlexCleaner"
[18:10:32 INF] Setting unknown language tracks to "eng" : "Video.mkv"
[18:10:32 INF] "Known" : Type: "VideoInfo", Format: "0x574d5633 \"WMV3\"", HDR: "", Codec: "V_MS/VFW/FOURCC", Language: "eng", Id: 2, Number: 3, State: None, Title: "", Default: False, HasErrors: False, Profile: "", Interlaced: False
[18:10:32 INF] "Known" : Type: "AudioInfo", Format: "unknown, format tag 0x0161", Codec: "A_MS/ACM", Language: "eng", Id: 1, Number: 2, State: None, Title: "", Default: True, HasErrors: False
[18:10:32 INF] "Unknown" : Type: "VideoInfo", Format: "V_MJPEG", HDR: "", Codec: "V_MJPEG", Language: "und", Id: 0, Number: 1, State: None, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[18:10:32 INF] Executing MkvPropEdit : "\"L:\\2012\\Video.mkv\" --flush-on-close --edit track:@1 --set language=eng"
The file is being analyzed.
The changes are written to the file.
Done.
[18:10:32 INF] Waiting for IO to flush : 5s : "Video.mkv"
[18:10:37 INF] Reading media info from tools : "Video.mkv"
[18:10:37 INF] Executing MediaInfo : "--Output=XML \"L:\\2012\\Video.mkv\""
[18:10:38 INF] Executing MkvMerge : "--identify \"L:\\2012\\Video.mkv\" --identification-format json"
[18:10:38 INF] Executing FfProbe : "-loglevel quiet -show_streams -print_format json \"L:\\2012\\Video.mkv\""
[18:10:38 INF] "MediaInfo" : Type: "VideoInfo", Format: "V_MJPEG", HDR: "", Codec: "V_MJPEG", Language: "eng", Id: 1, Number: 0, State: None, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[18:10:38 INF] "MediaInfo" : Type: "VideoInfo", Format: "VC-1", HDR: "", Codec: "V_MS/VFW/FOURCC / WMV3", Language: "eng", Id: 3, Number: 2, State: None, Title: "", Default: False, HasErrors: False, Profile: "", Interlaced: False
[18:10:38 INF] "MediaInfo" : Type: "AudioInfo", Format: "WMA", Codec: "A_MS/ACM / 161", Language: "eng", Id: 2, Number: 1, State: None, Title: "", Default: True, HasErrors: False
[18:10:38 INF] "MKVMerge" : Type: "VideoInfo", Format: "V_MJPEG", HDR: "", Codec: "V_MJPEG", Language: "eng", Id: 0, Number: 1, State: None, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[18:10:38 INF] "MKVMerge" : Type: "VideoInfo", Format: "0x574d5633 \"WMV3\"", HDR: "", Codec: "V_MS/VFW/FOURCC", Language: "eng", Id: 2, Number: 3, State: None, Title: "", Default: False, HasErrors: False, Profile: "", Interlaced: False
[18:10:38 INF] "MKVMerge" : Type: "AudioInfo", Format: "unknown, format tag 0x0161", Codec: "A_MS/ACM", Language: "eng", Id: 1, Number: 2, State: None, Title: "", Default: True, HasErrors: False
[18:10:38 INF] "FFprobe" : Type: "VideoInfo", Format: "wmv3", HDR: "", Codec: "WMV3", Language: "eng", Id: 2, Number: 2, State: None, Title: "", Default: False, HasErrors: False, Profile: "Main@-99", Interlaced: False
[18:10:38 INF] "FFprobe" : Type: "AudioInfo", Format: "wmav2", Codec: "Windows Media Audio 2", Language: "eng", Id: 1, Number: 1, State: None, Title: "", Default: True, HasErrors: False
[18:10:38 INF] Sidecar updated : State: SetLanguage, ReMuxed, ReNamed : "Video.PlexCleaner"
[18:10:38 INF] Removing duplicate tracks : "Video.mkv"
[18:10:38 INF] "Keep" : Type: "VideoInfo", Format: "V_MJPEG", HDR: "", Codec: "V_MJPEG", Language: "eng", Id: 0, Number: 1, State: Keep, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[18:10:38 INF] "Keep" : Type: "AudioInfo", Format: "unknown, format tag 0x0161", Codec: "A_MS/ACM", Language: "eng", Id: 1, Number: 2, State: Keep, Title: "", Default: True, HasErrors: False
[18:10:38 INF] "Remove" : Type: "VideoInfo", Format: "0x574d5633 \"WMV3\"", HDR: "", Codec: "V_MS/VFW/FOURCC", Language: "eng", Id: 2, Number: 3, State: Remove, Title: "", Default: False, HasErrors: False, Profile: "", Interlaced: False
[18:10:38 INF] Re-muxing union of tracks : "Video.mkv"
[18:10:38 INF] "Keep" : Type: "VideoInfo", Format: "V_MJPEG", HDR: "", Codec: "V_MJPEG", Language: "eng", Id: 0, Number: 1, State: Keep, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[18:10:38 INF] "Keep" : Type: "AudioInfo", Format: "unknown, format tag 0x0161", Codec: "A_MS/ACM", Language: "eng", Id: 1, Number: 2, State: Keep, Title: "", Default: True, HasErrors: False
[18:10:38 INF] "Remove" : Type: "VideoInfo", Format: "0x574d5633 \"WMV3\"", HDR: "", Codec: "V_MS/VFW/FOURCC", Language: "eng", Id: 2, Number: 3, State: Remove, Title: "", Default: False, HasErrors: False, Profile: "", Interlaced: False
[18:10:38 INF] Executing MkvMerge : "--disable-track-statistics-tags --no-global-tags --no-track-tags --flush-on-close  --output \"L:\\2012\\Video.tmp\" --video-tracks 0 --audio-tracks 1 --no-subtitles  \"L:\\2012\\Video.mkv\""
mkvmerge v64.0.0 ('Willows') 64-bit
'L:\2012\Video.mkv': Using the demultiplexer for the format 'Matroska'.
'L:\2012\Video.mkv' track 0: Using the output module for the format 'generic video'.
'L:\2012\Video.mkv' track 1: Using the generic output module for track type 'audio'.
The file 'L:\2012\Video.tmp' has been opened for writing.
Progress: 100%
The cue entries (the index) are being written...
Multiplexing took 0 seconds.
[18:10:38 INF] Waiting for IO to flush : 5s : "Video.mkv"
[18:10:43 INF] Reading media info from tools : "Video.mkv"
[18:10:43 INF] Executing MediaInfo : "--Output=XML \"L:\\2012\\Video.mkv\""
[18:10:43 INF] Executing MkvMerge : "--identify \"L:\\2012\\Video.mkv\" --identification-format json"
[18:10:43 INF] Executing FfProbe : "-loglevel quiet -show_streams -print_format json \"L:\\2012\\Video.mkv\""
[18:10:43 INF] "MediaInfo" : Type: "VideoInfo", Format: "V_MJPEG", HDR: "", Codec: "V_MJPEG", Language: "eng", Id: 1, Number: 0, State: None, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[18:10:43 INF] "MediaInfo" : Type: "AudioInfo", Format: "WMA", Codec: "A_MS/ACM / 161", Language: "eng", Id: 2, Number: 1, State: None, Title: "", Default: True, HasErrors: False
[18:10:43 INF] "MKVMerge" : Type: "VideoInfo", Format: "V_MJPEG", HDR: "", Codec: "V_MJPEG", Language: "eng", Id: 0, Number: 1, State: None, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[18:10:43 INF] "MKVMerge" : Type: "AudioInfo", Format: "unknown, format tag 0x0161", Codec: "A_MS/ACM", Language: "eng", Id: 1, Number: 2, State: None, Title: "", Default: True, HasErrors: False
[18:10:43 INF] "FFprobe" : Type: "AudioInfo", Format: "wmav2", Codec: "Windows Media Audio 2", Language: "eng", Id: 1, Number: 1, State: None, Title: "", Default: True, HasErrors: False
[18:10:43 INF] Sidecar updated : State: SetLanguage, ReMuxed, ReNamed : "Video.PlexCleaner"
[18:10:43 INF] Verifying media streams : "Video.mkv"
[18:10:43 INF] Executing FfMpeg : "-i \"L:\\2012\\Video.mkv\" -max_muxing_queue_size 1024 -nostats -loglevel error -xerror  -f null -"
[18:10:43 INF] Calculating bitrate info : "Video.mkv"
[18:10:43 INF] Executing FfProbe : "-loglevel error -show_packets -show_entries packet=codec_type,stream_index,pts_time,dts_time,duration_time,size -print_format json \"L:\\2012\\Video.mkv\""
Unhandled exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
 ---> System.InvalidOperationException: Sequence contains no elements
   at System.Linq.ThrowHelper.ThrowNoElementsException()
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
   at PlexCleaner.ProcessFile.GetBitrateInfo(BitrateInfo& bitrateInfo) in D:\a\PlexCleaner\PlexCleaner\PlexCleaner\ProcessFile.cs:line 1013
   at PlexCleaner.ProcessFile.VerifyBitrate() in D:\a\PlexCleaner\PlexCleaner\PlexCleaner\ProcessFile.cs:line 623
   at PlexCleaner.ProcessFile.Verify(Boolean conditional, Boolean& modified) in D:\a\PlexCleaner\PlexCleaner\PlexCleaner\ProcessFile.cs:line 542
   at PlexCleaner.Process.ProcessFile(FileInfo fileinfo, Boolean& modified, States& state, FileInfo& processInfo) in D:\a\PlexCleaner\PlexCleaner\PlexCleaner\Process.cs:line 268
   at PlexCleaner.Process.<>c__DisplayClass3_0.<ProcessFiles>b__0(FileInfo fileInfo) in D:\a\PlexCleaner\PlexCleaner\PlexCleaner\Process.cs:line 114
   at PlexCleaner.Process.ProcessFilesDriver(List`1 fileList, String taskName, Func`2 taskFunc) in D:\a\PlexCleaner\PlexCleaner\PlexCleaner\Process.cs:line 542
   at PlexCleaner.Process.ProcessFiles(List`1 fileList) in D:\a\PlexCleaner\PlexCleaner\PlexCleaner\Process.cs:line 111
   at PlexCleaner.Program.ProcessCommand(CommandLineOptions options) in D:\a\PlexCleaner\PlexCleaner\PlexCleaner\Program.cs:line 109
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Delegate.DynamicInvokeImpl(Object[] args)
   at System.Delegate.DynamicInvoke(Object[] args)
   at System.CommandLine.NamingConventionBinder.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass15_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass26_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass24_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__23_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass21_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseDebugDirective>b__8_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__7_0>d.MoveNext()
--- End of stack trace from previous location ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass11_0.<<UseExceptionHandler>b__0>d.MoveNext()

from plexcleaner.

ptr727 avatar ptr727 commented on June 4, 2024

I can see form the log what happens, the file is remuxed from WMV to MKV, and in the process the video track is removed.

I do have a WMV sample, but it does not exhibit this problem.
Could you possibly create a test file using the same format, just a few seconds will do, and I'll try to get it to convert to MKV H265 AC3 without the errors?

from plexcleaner.

ptr727 avatar ptr727 commented on June 4, 2024

Thx, let me try it, else we can telegram share (wondering how to exchange contact info with github removing dm feature?)

from plexcleaner.

ptr727 avatar ptr727 commented on June 4, 2024

Ah shoot;

// Media file must be at least 2 * the hash window length
Debug.Assert(MediaFileInfo.Length >= 2 * HashWindowLength);

Could you make it longer than 128KB, or telegram, how do we share contact info?

from plexcleaner.

ptr727 avatar ptr727 commented on June 4, 2024

Unfortunately that file does not have the mjpeg cover art track.
Let's try telegram, how do we exchange contact info without the world seeing it here?

from plexcleaner.

Migushthe2nd avatar Migushthe2nd commented on June 4, 2024

Oh I think my username will work. Try searching for @migush on telegram
Edit: https://t.me/Migushthe2nd

from plexcleaner.

ptr727 avatar ptr727 commented on June 4, 2024

Should be fixed now, please let me know.
Remember to add the codec types to the JSON config if you want the wma2 audio and wmv3 video to be converted to ac3 and h265.

from plexcleaner.

Migushthe2nd avatar Migushthe2nd commented on June 4, 2024

It's working! I have a few more files with weird audio channels though. I've sent a file via Telegram

[14:26:06 INF] "Process" (23.53 %) : "L:\\2004\\Augustus 2004 038.avi"
[14:26:06 INF] ReMux file matched by extension : "Augustus 2004 038.avi"
[14:26:06 INF] Executing MkvMerge : "--disable-track-statistics-tags --no-global-tags --no-track-tags --flush-on-close  --output \"L:\\2004\\Augustus 2004 038.tmp\" \"L:\\2004\\Augustus 2004 038.avi\""
mkvmerge v64.0.0 ('Willows') 64-bit
'L:\2004\Augustus 2004 038.avi': Using the demultiplexer for the format 'AVI'.
'L:\2004\Augustus 2004 038.avi' track 0: Using the output module for the format 'VfW compatible video'.
'L:\2004\Augustus 2004 038.avi' track 1: Using the output module for the format 'PCM'.
The file 'L:\2004\Augustus 2004 038.tmp' has been opened for writing.
Progress: 100%
The cue entries (the index) are being written...
Multiplexing took 0 seconds.
[14:26:07 INF] Waiting for IO to flush : 5s : "Augustus 2004 038.mkv"
[14:26:12 INF] Reading media info from tools : "Augustus 2004 038.mkv"
[14:26:12 INF] Executing MediaInfo : "--Output=XML \"L:\\2004\\Augustus 2004 038.mkv\""
[14:26:12 INF] Executing MkvMerge : "--identify \"L:\\2004\\Augustus 2004 038.mkv\" --identification-format json"
[14:26:12 INF] Executing FfProbe : "-loglevel quiet -show_streams -print_format json \"L:\\2004\\Augustus 2004 038.mkv\""
[14:26:12 INF] "MediaInfo" : Type: "VideoInfo", Format: "JPEG", HDR: "", Codec: "V_MS/VFW/FOURCC / MJPG", Language: "und", Id: 1, Number: 0, State: None, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[14:26:12 INF] "MediaInfo" : Type: "AudioInfo", Format: "PCM", Codec: "A_PCM/INT/LIT", Language: "und", Id: 2, Number: 1, State: None, Title: "", Default: True, HasErrors: False
[14:26:12 INF] "MKVMerge" : Type: "VideoInfo", Format: "0x4d4a5047 \"MJPG\"", HDR: "", Codec: "V_MS/VFW/FOURCC", Language: "und", Id: 0, Number: 1, State: None, Title: "", Default: True, HasErrors: False, Profile: "", Interlaced: False
[14:26:12 INF] "MKVMerge" : Type: "AudioInfo", Format: "PCM", Codec: "A_PCM/INT/LIT", Language: "und", Id: 1, Number: 2, State: None, Title: "", Default: True, HasErrors: False
[14:26:12 INF] "FFprobe" : Type: "AudioInfo", Format: "pcm_u8", Codec: "PCM unsigned 8-bit", Language: "und", Id: 1, Number: 1, State: None, Title: "", Default: True, HasErrors: False
[14:26:12 INF] Sidecar created : State: None : "Augustus 2004 038.PlexCleaner"
[14:26:12 INF] Sidecar updated : State: ReMuxed, ReNamed : "Augustus 2004 038.PlexCleaner"
[14:26:12 ERR] Tool track count discrepency : "Augustus 2004 038.mkv"
[14:26:12 ERR] "Process" Error : "L:\\2004\\Augustus 2004 038.avi"

from plexcleaner.

ptr727 avatar ptr727 commented on June 4, 2024

I can't get the AVI you sent to convert to H265 and AC3, the MJPEG video converts, but the PCM audio is not recognized after converting to AC3 or AAC.

Do try the develop branch I just pushed, you can build locally, I made some enhancements to try and help.
Also add the codecs you want to reencode to the JSON config file if not already added.

I may not get it working 100% with AVI and all the many funky codecs.

from plexcleaner.

ptr727 avatar ptr727 commented on June 4, 2024

Merged to main branch.

from plexcleaner.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.