Commercial Skipping is broken starting in 1.18.6.2368

This is, unfortunately, a good example of Plex slow response and lack of communication. OttoKerner jumped in and filed a bug report which was great. But no word since then on what I consider to be a core feature.

We could roll back to a working version of Plex. I’ve never done that but guess it’s time to learn how since it surely this won’t be the last time it might be helpful.

I chose to get MCEBuddy and don’t regret it. But it’s probably not for everyone. Commercial skipping in Plex is a simple checkbox (when working of course). MCEBuddy’s post possessing features such as commercial skipping are more powerful & flexible but also more complex so expect some learning curve.

While Emby support is reportedly more responsive, I don’t see how switching to Emby has any bearing on this issue. I’m curious as to what advantages Emby might offer but I really don’t want to take on a product switch right now. I’ve got enough problems without that right now hah.

MCEBuddy’s post possessing features such as commercial skipping are more powerful & flexible but also more complex so expect some learning curve.------ I agree totally, but most people I think that run a Plex server can set it up fairly easy. It’s very straightforward. I can’t imagine going back to just a checkbox compared to having full control (and it’s easy!)

While Emby support is reportedly more responsive, I don’t see how switching to Emby has any bearing on this issue. I’m curious as to what advantages Emby might offer but I really don’t want to take on a product switch right now.--------- I respect this, but just throwing it out there as an option. I too was hardcore PLEX PLEX PLEX! After being upset about several different issues over a long period of time, I switch to Emby and it’s been fantastic. The biggest thing overall I think was the lack of buffering (especially with Live TV) if I remember correctly. It just freaking works and works fantastic.

I have seen comments (one in this thread) about the MCEBuddy interface not being user friendly. MCEBuddy was worth it for me. I can address individual show commercial skip issues that the Plex simple checkbox approach can’t. So a simple checkbox might be what you want, or might not be,. Just wanted to point out the difference.

I can understand and respect the frustrations with Plex. Thanks for the feedback about Emby. Stability is important. Either I find a way to maintain stability with Plex, perhaps by avoiding beta releases and knowing how to roll back versions when needed, etc. Or… Maybe I give Emby a try as well. My family won’t tolerate forever having core features break unexpectedly for who knows how long. So I’ve got some testing and thinking to do.

@mspacek. You must not live with a blond that thinks if she hits “Record Series” everything will record everything without commercials regardless if a football game runs over, or the President has an address, or there is a sever weather warning banner running across the program content. :grinning:

@davissd_gmail_com . Yes, she’s blond. And yes, she has pretty high expectations for stuff to “just work”. Which is why we still have a commercial TV service. But I want to get rid of that and can’t until I have a solid alternative which I would like Plex to be part of.
:grinning:

I’m pretty sure this is actively being worked on. Techs are asking questions via IM to some impacted users trying to chase down the issue.

1 Like

I’m pretty sure the problem is in the executable because every time it starts, I get an error in the windows application log as follows:

Faulting application name: Plex Commercial Skipper.exe, version: 0.0.0.0, time stamp: 0x5d03c3f4
Faulting module name: msvcrt.dll, version: 7.0.17763.475, time stamp: 0xba51b082
Exception code: 0xc0000005
Fault offset: 0x0008aa48
Faulting process id: 0x297c
Faulting application start time: 0x01d5f8db3e151125
Faulting application path: C:\Program Files (x86)\Plex\Plex Media Server\Plex Commercial Skipper.exe
Faulting module path: C:\WINDOWS\System32\msvcrt.dll
Report Id: d8281bf7-43e7-47f4-8165-41a644fbbdaa
Faulting package full name:
Faulting package-relative application ID:

Do you get that error if you just run plex commercial skipper from the command line with no argument? I think the error above indicates an issue with the DLL that supports C++ apps.

This thread may help - the second post includes links to download a clean version of the DLL. Doing the SFC check is also not a bad idea. Redirecting

Plex commercial skipper is creating an EDL file - it just doesn’t seem to be acted upon. Makes me think that the FFMPeg or whatever they’re using to cut is broken vs Plex Commercial Skipper.

That’s good news. Thanks for passing it along…

I just ran Plex Commercial Skipper from 1.18.8.2527 against a TS file I just pulled from the .grab folder (recorded from Plex).

Input #0, mpegts, from 'C:\Users\wct\Desktop\Star Trek The Next Generation (1987) - S05E07 - Unification Part I.ts':
  Duration: 01:01:01.04, start: 1.400000, bitrate: 4030 kb/s
  Program 1
    Metadata:
      service_name    : Service01
      service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), none(progressive), 1280x720 [SAR 1:1 DAR 16:9], Closed Captions, 59.94 fps, 59.94 tbr, 90k tbn, 90k tbc
    Stream #0:1[0x101](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.1(side), s16p, 384 kb/s
    Stream #0:2[0x102](spa): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, stereo, s16p, 96 kb/s
Unsupported codec!
Could not open video codec
C:\Users\wct\Desktop\Star Trek The Next Generation (1987) - S05E07 - Unification Part I.ts: could not open video codec

I have yet to understand why there’s a codec issue here.

While I was still dinking around with this, I actually copied the Plex Commercial Skipper.exe into another app (along with a couple DLLs that were also needed) and tested it for a while. Not sure if that is kosher to do but was just testing. It worked find for the several days I tested it. Perhaps the failure in one scenario and not the other is due to differing parameters being passed, I don’t know.

Isn’t plex supposed to download codecs on demand as required? Perhaps there is something going wrong there? I’m just guessing.

There are a couple of environment variables which need to be set if you’re going to run it from the command-line:
EAE_ROOT
FFMPEG_EXTERNAL_LIBS

For example, on my Mac, they look like this:

EAE_ROOT='/var/folders/mg/s81mwtcn7fn6t3dvp5rh2g1m0000gn/T/pms-0cc01b04-cff4-449c-b4a7-b89c2c223f35/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/Users/username/Library/Application\ Support/Plex\ Media\ Server/Codecs/0bc617e-2974-darwin-x86_64/' '/Applications/Plex Media Server.app/Contents/MacOS/Plex Commercial Skipper'

Obviously it will look different on Windows. You can check your PMS logs to see how the environment should be set; just search for “Plex Commercial Skipper” and look for the EAE_ROOT and FFMPEG_EXTERNAL_LIBS portions of the command-line.

No Application Log error.
Here is the output:
C:\Program Files (x86)\Plex\Plex Media Server>“Plex Commercial Skipper.exe”
Comskip 0.82.005, made using ffmpeg
Donator build
The commandline used was:
“Plex Commercial Skipper.exe”

Usage:
comskip [-h|–help] [-w|–debugwindow] [-n|–playnice] [–zpcut] [–zpchapter] [–scf] [–videoredo] [–videoredo3] [–csvout] [–quality] [–plist] [-m|–demux] [–hwassist] [–threads=] [-p|–pid=] [-t|–ts] [-d|–detectmethod=] [-v|–verbose=] [-u|–dump=] [-s|–play] [–timing] [-q|–quiet] [–ini=] [–logo=] [–cut=] [–output=] [–output-filename=] [–selftest=] []

-h, --help Display syntax
-w, --debugwindow Show debug window
-n, --playnice Slows detection down
–zpcut Outputs a ZoomPlayer cutlist
–zpchapter Outputs a ZoomPlayer chapter file
–scf Outputs a simple chapter file for mkvmerge
–videoredo Outputs a VideoRedo cutlist
–videoredo3 Outputs a VideoRedo3 cutlist
–csvout Outputs a csv of the frame array
–quality Outputs a csv of false detection segments
–plist Outputs a mac-style plist for addition to an EyeTV archive as the ‘markers’ property
-m, --demux Demux the input into elementary streams
–hwassist Activate Hardware Assisted video decoding
–threads= The number of threads to use
-p, --pid= The PID of the video in the TS
-t, --ts The input file is a Transport Stream
-d, --detectmethod= An integer sum of the detection methods to use
-v, --verbose= Verbose level
-u, --dump= Dump the cutscene at this frame number
-s, --play Play the video
–timing Dump the timing into a file
-q, --quiet Not output logging to the console window
–ini= Ini file to use
–logo= Logo file to use
–cut= CutScene file to use
–output= Folder to use for all output files
–output-filename= Filename base to use for all output files
–selftest= Execute a selftest
Input file
Output folder for cutlist

Detection methods available:
1 - Black Frame
2 - Logo
4 - Scene Change
8 - Resolution Change
16 - Closed Captions
32 - Aspect Ratio
64 - Silence
128 - CutScenes
255 - USE ALL AVAILABLE

Errors:
ComSkip: missing option

it’s an h264 stream - this error was why I was originally replacing the shipped plex commercial skipper.exe with a renamed copy of comskip.exe. Maybe it’s time to go back to that approach :confused:

I haven’t tried that yet. I’ll give it a go and see what happens. As I said before, you never know until you test.

Update… Looks like maybe it didn’t fail, but it didn’t do anything either. MCEBuddy cut over 9 minutes of commercials using the exact same comskip executable. The exit code in the below message doesn’t look right to me though but maybe I’m wrong.

Jobs: ‘C:\Program Files (x86)\Plex\Plex Media Server\Plex Commercial Skipper.exe’ exit code for process 3616 is -1073741819 ()

Here’s a bit more of the detailed log from this attempt…

Mar 13, 2020 17:30:00.934 [13296] DEBUG - Grabber: Recording for 'According to Jim - E1 - Foul Ball' on channel 7.4 stopped with status complete.
Mar 13, 2020 17:30:00.934 [13296] DEBUG - Grabber: Using recording status.
Mar 13, 2020 17:30:00.934 [13296] DEBUG - Activity: updated activity 1442dd9e-f2ac-451c-8972-7fed7487de93 - completed 100.0% - Recording
Mar 13, 2020 17:30:00.934 [13296] DEBUG - [MI] Opening input file: "L:\Plex Media\TV Shows\.grab\da386adf1337c9437f1ebbfe84cb4cdfc9eab89f-e2bc3cddb41a85c861337d78b6c84345074dec56\According to Jim (2001) - S05E01 - Foul Ball.ts"
Mar 13, 2020 17:30:00.938 [13296] DEBUG - [MI]  *  [mpegts mpeg2video/ac3] Duration: 1787687ms, 720x480 (1.777778) 29.970fps, bitrate=2246kbps, audio channels=2, optimizedForStreaming=0 ("L:\Plex Media\TV Shows\.grab\da386adf1337c9437f1ebbfe84cb4cdfc9eab89f-e2bc3cddb41a85c861337d78b6c84345074dec56\According to Jim (2001) - S05E01 - Foul Ball.ts")
Mar 13, 2020 17:30:00.938 [13296] DEBUG - [MI] Chapters had generic titles, clearing.
Mar 13, 2020 17:30:00.938 [13296] DEBUG - [MI] Closing input file: "L:\Plex Media\TV Shows\.grab\da386adf1337c9437f1ebbfe84cb4cdfc9eab89f-e2bc3cddb41a85c861337d78b6c84345074dec56\According to Jim (2001) - S05E01 - Foul Ball.ts"
Mar 13, 2020 17:30:00.938 [13296] DEBUG - Job running: EAE_ROOT='\\?\C:\Plex Transcode\Transcode\Sessions\EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='\\\\?\\C\:\\Users\\Owner\\AppData\\Local\\Plex\ Media\ Server\\Codecs\\0bc617e-2974-windows-x86\\' C:\Program Files (x86)\Plex\Plex Media Server\Plex Commercial Skipper.exe "--ini=C:\Program Files (x86)\Plex\Plex Media Server\Resources\comskip.ini" "--output=L:\Plex Media\TV Shows\.grab\da386adf1337c9437f1ebbfe84cb4cdfc9eab89f-e2bc3cddb41a85c861337d78b6c84345074dec56" -t --quiet "L:\Plex Media\TV Shows\.grab\da386adf1337c9437f1ebbfe84cb4cdfc9eab89f-e2bc3cddb41a85c861337d78b6c84345074dec56\According to Jim (2001) - S05E01 - Foul Ball.ts" 
Mar 13, 2020 17:30:00.969 [13296] DEBUG - Jobs: Starting child process with pid 3616
Mar 13, 2020 17:30:02.837 [5976] DEBUG - Jobs: 'C:\Program Files (x86)\Plex\Plex Media Server\Plex Commercial Skipper.exe' exit code for process 3616 is -1073741819 ()
Mar 13, 2020 17:30:02.837 [13296] DEBUG - Recorder: EDL built after 1.9 seconds.
Mar 13, 2020 17:30:02.845 [13296] DEBUG - Recorder: Commercial skipping: output file duration was too similar (we aren't doing much). We won't replace the original.
Mar 13, 2020 17:30:02.847 [13296] DEBUG - Grabber: Scheduling 'According to Jim - E1 - Foul Ball' for assimilation.

Removed by user

Folks taking care of themselves is more important to me than fixing commercial skipping.

1 Like

Taking care of the people you care about, but maintaining your sanity working under the current events where possible…

1 Like

So i guess commercial skip is broken for everyone? Is it working for anyone? Is there an alternative method to skip or edit out commericals?