Jump to content

Commercial Removal (Linux/docker) - Where are we at?


iamspartacus

Recommended Posts

iamspartacus

I migrated to Emby over a year ago during the whole Plex privacy debacle but wound up switching back due to a few key missing features and the lacking nature of some of the clients.  I'm giving it serious consideration again as my full time media server.

 

I'm curious as to if any changes have been made with regard to integrating the commercial removal process or users are still 100% responsible for using their own commercial skip applications and scripts.  I exclusively run docker containers so any insight into how that all plays would be welcome.

Edited by iamspartacus
Link to comment
Share on other sites

jad3675

comskip is pretty easy to setup - you can use comchap and or comcut to completely automate the commercial removal process.

 

FWIW, Plex uses comskip.

 

John

Link to comment
Share on other sites

groenator

I set up another container with a script to remove commercials, yhe container mounts the same emby volume used for recording and when a new recording is available emby will kick in the post-processing script which will remove the commercials. Unfortunately, I haven't had time to fully test the solution, I wont promise anything, but if I do have some time and make this work, I will share the solution here.

Link to comment
Share on other sites

iamspartacus

comskip is pretty easy to setup - you can use comchap and or comcut to completely automate the commercial removal process.

 

FWIW, Plex uses comskip.

 

John

 

Do you have any resources to this very easy setup of comskip in Linux?

 

 

I set up another container with a script to remove commercials, yhe container mounts the same emby volume used for recording and when a new recording is available emby will kick in the post-processing script which will remove the commercials. Unfortunately, I haven't had time to fully test the solution, I wont promise anything, but if I do have some time and make this work, I will share the solution here.

 

What container are you using for the commercial removal?  I'd love to hear of your results.

Link to comment
Share on other sites

jad3675

Do you have any resources to this very easy setup of comskip in Linux?

 

 

You can follow the instructions on the github to build comskip for your system - https://github.com/erikkaashoek/Comskip - it'll throw some errors (which are superficial), but you'll get a compiled binary 'comskip' in the build directory. Copy it to /usr/local/bin. You'll need to find a comskip.ini that works for your environment.

 

 

Next, you'll need to grab comchap/comcut from here - https://github.com/BrettSheleski/comchap - it's a shell script, essentially. Comcut does just that - it uses comskip to produce a file that has the commercials removed. Depending on your comskip.ini you may get great results. Comchap doesn't cut the commercials, it marks them as chapters and labels them as 'commercials' so you can select past them from the emby player.

 

You can call the entire thing with a simple shell script from the 'post-processing' field in emby. You'll need to convert the recording from a .ts file to format that supports chapters first. I use ffmpeg to do that. Here's what the guts of my post-processing script look like. This is for an intel GPU - nvidia and AMD would have different options in ffmpeg. I also mark the commercials as chapters and don't remove them.

 

#!/bin/bash

MKV_NAME=$(echo ${FULL_PATH%%.??})".mkv"

ffmpeg -hwaccel vaapi -vaapi_device /dev/dri/renderD128 -i "$FULL_PATH" -vf 'format=nv12,hwupload' -c:v h264_vaapi -c:a aac "$MKV_NAME" -async 1 -vsync 1 -max_muxing_queue_size 9999 2> /tmp/ffmpeg.log

# Checks to make sure the conversion produced a real file, and removes the .ts file if it has.

if [ -s "$MKV_NAME" ]

 then

   echo 'Removing old video file' $FULL_PATH

   rm -f "$FULL_PATH"

   comchap --lockfile=/tmp/comcut.lock --comskip-ini=/path/to/comskip.ini "$MKV_NAME"

 else

   echo 'MKV conversion appears to have failed! Removing Empty file.'

   rm -f "$MKV_NAME"

   VIDEO_NAME=$FULL_PATH

fi

 

 

John

Edited by jad3675
Link to comment
Share on other sites

groenator

Do you have any resources to this very easy setup of comskip in Linux?

 

 

 

What container are you using for the commercial removal?  I'd love to hear of your results.

 

A simple ubuntu container with a shell script that will remove the commercials. The shell script is taken from this forum, if you would like I can share the content of the docker-compose and shell script.

Link to comment
Share on other sites

iamspartacus

A simple ubuntu container with a shell script that will remove the commercials. The shell script is taken from this forum, if you would like I can share the content of the docker-compose and shell script.

 

That would be much appreciated!

Link to comment
Share on other sites

SkyBehind

A simple ubuntu container with a shell script that will remove the commercials. The shell script is taken from this forum, if you would like I can share the content of the docker-compose and shell script.

+1

Link to comment
Share on other sites

  • 10 months later...
ap90033

very interested in this. I have both plex and emby prem. lifetime. I am using plex but interested in moving to emby. Not willing to give up easy commercial skip. I am moving from a win box to unraid so I already know plex would be easy and has it built in. I feel like emby has improved over the years and might be better except for removing commercials. 

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...