Jump to content

How to define the "{path}" option for Comskip for Rec. Post Processing


saj3471
Go to solution Solved by richt,

Recommended Posts

Hello,

How do I define the "{path}" under “Live TV > Advanced > Recording Post Processing” when using the comskip application ?

The documentation for comskip states that {path} is the exact file path including the actual file name, this obviously is not a good setting because Emby creates unique folders and files for each program that it records.

Also, I've tried using the ScripterX plugin with the "emby_preprocessing.sh" script but nothing happens when the "onLiveTVRecordingStart" is configured.

As instructed in the script docs, I only configure "Recording Post Processing" or "onLiveTVRecordingStart" but never both during my testing to see which would work.

At this point I'm out of ideas, can someone please share how they got this to work. 

If I manually run "comskip" or "emby_preprocessing.sh" with "emby" as the user using the command line they both work without issue.

Emby-server - version 4.7.14.0

ScripterX plugin - version 3.0.5.5

OS Ubuntu Linux : 22.04.3 

Link to comment
Share on other sites

  • Solution

I've run into 2 problems running comskip under Linux Mint (based on Ubuntu)

  1. Sometimes Comskip version 0.82.010 doesn't run the first time, but simply errors out. (Comskip failed: Exit code 139).  Strangely, if you run it a second time right away, it works just fine. 
  2. When running comskip under the context of emby (post processing task), the emby environment forced comskip to a set of libraries that did not include a library version that comskip needed, so comskip failed.  I was able to get it to work by using the following line in a script and calling the script as a post processing task.  This error condition may no longer exist as I haven't bothered to re-test without the script.
LD_LIBRARY_PATH=$(pwd)/usr/lib/ /usr/local/bin/comskip --ini=/etc/comskip.ini "$1"

The only argument required in "Post-processor command line arguments" is "{path}".

This post contains a script you can call as a post processing task that creates a comskip log.  Very handy if you need to debug a comskip failure.

The Comskipper topic contains other posts about problems running comskip, so if these don't help you might want to review it.  Not completely sure from your post, but if you are trying to run comskip against a TV show as you are watching it, there is some help about that subject too.

Edited by richt
Added text
Link to comment
Share on other sites

Thanks for the suggestions, looks like I'm getting closer!!

So I pulled in script file to generate the logs for comskip with the name "com_ship.sh" and called it under "Recording Post Processing" as follows:

Post-processing application: /usr/local/bin/com_skip.sh

Post-processor command ling arguments: "{path}"

With the above sometimes it works as intended and generate the EDL file but in most cases not, below is the "comskip.txt" log entries when it fails generating an empty EDL file see below:

2023-09-28 13:40:12 : Beginning post processing script on /mnt/ext-raid/media-server/recordings/NBC News Daily (2004)/Season 2/NBC News Daily S02E09.ts
2023-09-28 13:40:12 : File exists, sleeping 1 minute before starting...
2023-09-28 13:41:18 : Comskip failed: Exit code 1
2023-09-28 13:41:18 : Contents of /mnt/ext-raid/media-server/recordings/NBC News Daily (2004)/Season 2/NBC News Daily S02E09.edl:
2023-09-28 13:41:18 : Finished post processing script on /mnt/ext-raid/media-server/recordings/NBC News Daily (2004)/Season 2/NBC News Daily S02E09.ts

The above may be related to the LD_LIBRARY_PATH issue, but I don't know how to use the LD_LIBRARY_PATH script with the "com_skip.sh" script. Here is my take on how to implement the LD_LIBRARY_PATH script:

#!/bin/bash

LD_LIBRARY_PATH=$(pwd)/usr/lib/ /usr/local/bin/comskip --ini=/etc/comskip.ini "$1"

Can I simply call the "com_skip.sh" instead of "comskip" in the above and drop the "--ini=/etc/comskip.ini" resulting in 

#!/bin/bash

LD_LIBRARY_PATH=$(pwd)/usr/lib/ /usr/local/bin/com_skip.sh "$1"

Don't laugh, novice here as can tell LOL

-Thanks

Link to comment
Share on other sites

To answer the original question, how you define the path in the command line arguments depends on what your post processing application expects. 

So it looks like you've created an .sh script. If that's expecting the path to the recording file as the first argument, then you probably want the default value of just {path}

Link to comment
Share on other sites

So it appears that my starting and stopping recordings within about 5 to 10 seconds as I was testing may have caused the com_skip.sh script to fail. I decided to just leave it alone and see how it would perform with my existing scheduled recordings. So far I have recorded 3 shows and the com_skip.sh script has generated the EDL files without error. I hope the issue is truly resolved. I will give it about a week to see how it performs.

Thanks for all the help, this is awesome!!!

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...