I curious about MCEBuddy, what beyond comskip, if anything, does it use for commercial detection part?
Honestly, for me, CPU isn’t the issue so much as storage contention (during comskip).
@hthighway said:
I curious about MCEBuddy, what beyond comskip, if anything, does it use for commercial detection part?
You can choose between Comskip and ShowAnalyzer but not both at the same time. MCEBuddy is basically just a user-friendly GUI which combines Commercial detection with transcoding/packaging/backup/automatic detection capabilities, so stuff like FFMPEG, MKVMerge is bundled into nice preselectable Profiles that you can customize.
During the installation process it will also install a Windows Service. So everytime you start your PC MCEBuddy is automatically running in the background. You don’t even need the GUI opened, it completely runs in the background when you’ve finished setting it all up.
ShowAnalyzer, that’s the one I couldn’t think of, thanks
and here’s an excellant example of marking the commercials in the MKV with chapter markers instead of removing them.
See: https://forums.plex.tv/discussion/comment/1255591/#Comment_1255591
I like this method better. The space savings aren’t that great when removing commercials and the chance of chopping out some content instead of commercial is too destructive IMHO. I’m going to give this method a shot and see how it goes.
@holtam said:
I like this method better. The space savings aren’t that great when removing commercials and the chance of chopping out some content instead of commercial is too destructive IMHO. I’m going to give this method a shot and see how it goes.
I dunno, given ~20 minutes of a 1-hours show consists of ads, I think space savings is pretty significant. That said, I don’t trust comskip enough to automate cutting out commercials.
For stuff I intend to archive (there are still some TV shows that get DVD-only release), I manually edit the EDL file before letting MCEBuddy cut commercials and convert to MP4 (H.264 + Stereo AAC + passthru AC3).
Having some problems with postprocess via mcebuddy. I get the bat to fire off on windows after recording but noticed the %1 is already quoted when I echo it to a text file. So I tried the bat file below either with the “%1” or just %1 and nothing gets added to the queue. Could this be because the file in the .grab file is moved quickly after the command is sent to mcebuddy? Also with mcebuddy, would you need to write the output file into the same .grab temp file? What happens if the .ts gets changed to .mp4? Would plex get confused when moving it out of the temp folder and lose association with the gracenote metadata. How does this work??
@mkmorris said:
Gotcha, ok, it is %1 - what I mean is that the filename is passed to the postproc script in the first argument?As in, this is what I have now in Plex_PostProcess.bat:
“C:\Program Files\MCEBuddy2x\MCEBuddy.UserCLI.exe” --command=addfile --action=“%1”
(which runs, standalone but obviously complains no file ni %1 was passed to it)
And the DVR config shows this inthe XML now:
So in theory, I should be good to go? (btw “Program Files” == “Progra~1”)
EDIT - disregard. Needed to pass my token.
Thanks for all of the examples everyone, I’m excited to get this set up, however I can’t get past step 1… GET http://localhost:32400/livetv/dvrs is returning “Unauthorized”. What am I missing? I’ve tried disabling secure connections and I’ve added localhost to the networks not requiring auth. Thanks!
Is the above method’s removing the commercials or just tagging them? I assume removing as I don’t think Plex is capable of jumping commercials via ID tags right?
@smacrae1970 said:
Is the above method’s removing the commercials or just tagging them? I assume removing as I don’t think Plex is capable of jumping commercials via ID tags right?
The method referenced in the 1st post removes them
The one show here: http://forums.plex.tv/discussion/comment/1255627/#Comment_1255627 ,
converts the location of the commercials to chapter markers and embeds those chapter marks in the media. Plex (depending on the plex app) has the ability to skip by chapter
@jondhoughton said:
EDIT - disregard. Needed to pass my token.Thanks for all of the examples everyone, I’m excited to get this set up, however I can’t get past step 1… GET http://localhost:32400/livetv/dvrs is returning “Unauthorized”. What am I missing? I’ve tried disabling secure connections and I’ve added localhost to the networks not requiring auth. Thanks!
You may need a Plex-Token. I’m running into the same thing and was able to get a little further once I found my token and added it, but I still can’t get Plex to take my pref for post processing.
https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account-token-X-Plex-Token
@TheSupremeMonkey said:
@jondhoughton said:
EDIT - disregard. Needed to pass my token.Thanks for all of the examples everyone, I’m excited to get this set up, however I can’t get past step 1… GET http://localhost:32400/livetv/dvrs is returning “Unauthorized”. What am I missing? I’ve tried disabling secure connections and I’ve added localhost to the networks not requiring auth. Thanks!
You may need a Plex-Token. I’m running into the same thing and was able to get a little further once I found my token and added it, but I still can’t get Plex to take my pref for post processing.
https://support.plex.tv/hc/en-us/articles/204059436-Finding-your-account-token-X-Plex-Token
I didn’t realize you had edited your post, but I figured it out. Just in case anyone else has issues here’s what you need to do.
curl --header "X-Plex-Token:YOURTOKEN" -X PUT "https://YOURIP:32400/livetv/dvrs/YOURDVRKEY/prefs?postprocessingScript=/path/to/script"
You need to put your token in the header if you have a Plex Home setup. You also need to replace the X in the example with the DVR key from the XML at “https://YOURIP:32400/livetv/dvrs”, in my case it was 3. Then you can set the preference.
@TheSupremeMonkey said:
@TheSupremeMonkey said:
curl --header "X-Plex-Token:YOURTOKEN" -X PUT "https://YOURIP:32400/livetv/dvrs/YOURDVRKEY/prefs?postprocessingScript=/path/to/script"You need to put your token in the header if you have a Plex Home setup. You also need to replace the X in the example with the DVR key from the XML at “https://YOURIP:32400/livetv/dvrs”, in my case it was 3. Then you can set the preference.
You can also just add it to the end of the URL with a&
curl -X PUT "https://YOURIP:32400/livetv/dvrs/YOURDVRKEY/prefs?postprocessingScript=/path/to/script&X-Plex-Token:YOURTOKEN"
I know I have another post asking about this.
I have gotten all of this to work…
But when I do a recording it fails and say there was a problem in post processing. How can I figure out more detail on this?
Can you post the content of your script?
@hthighway you seem to have done quite a lot of work playing with the post processing so I have a question.
As my PMS is in a docker I don’t really want to mess around with things inside there so am looking at passing the post processing off to something which is contained in a separate docker via a web request. Not completely worked this out in my mind but I assume that the way Plex works is that it waits for the script to complete before doing whatever it normally does next so I have to have a script called from within the PMS docker which does not terminate until the post processing action (wherever that may be happening)?
@DavidIrwin said:
the way Plex works is that it waits for the script to complete before doing whatever it normally does next so I have to have a script called from within the PMS docker which does not terminate until the post processing action (wherever that may be happening)?
Yes, plex will wait for the script to finish before moving on
@hthighway said:
Yes, plex will wait for the script to finish before moving on
OK, so if I create a script which (pseudo code):
- receives filename as parameter
- calls web service (in another docker)
- waits until a file with a particular name is created (I’m thinking {randomly generated filename}.log also passed to the web service
- when the file appears count to 10 (just in case something takes longer than expected)
- read the log file created (so that the web service process steps & success/error status appear in the plex logs)
- delete the log file
- exit
The web service will then simply need to access the file it is passed the name and path of (I can make sure the processing docker uses the same root paths as the PMS server docker), process it using Comskip, FFMpeg, etc and at the end rename it’s log file to the name passed to it.
Does this sound sensible?
David
@DavidIrwin said:
@hthighway said:
Yes, plex will wait for the script to finish before moving on
OK, so if I create a script which (pseudo code):
- receives filename as parameter
- calls web service (in another docker)
- waits until a file with a particular name is created (I’m thinking {randomly generated filename}.log also passed to the web service
- when the file appears count to 10 (just in case something takes longer than expected)
- read the log file created (so that the web service process steps & success/error status appear in the plex logs)
- delete the log file
- exit
The web service will then simply need to access the file it is passed the name and path of (I can make sure the processing docker uses the same root paths as the PMS server docker), process it using Comskip, FFMpeg, etc and at the end rename it’s log file to the name passed to it.
Does this sound sensible?
David
Yeah that sounds like it should work as long as the script waits for the web service to finish.