This just got way easier as comskip seems to be in apt packages now. The only thing you need to do is slightly modify the script in jellyfin-dvr-comskip
because it assumes a docker install
sudo apt install comskip
git clone https://github.com/Protektor-Desura/jellyfin-dvr-comskip.git
- Open/edit
<extracted_path>/config/comskip/jellyfin-drv-comskip.sh
- In the following line:
$__command --ffmpeg=$__ffmpeg --comskip=/usr/local/bin/comskip --lockfile=/tmp/comchap.lock --comskip-ini=/config/comskip/comskip.ini "${__file}"
- change the
--comskip=
to your installed location (probably/usr/bin/comskip
, check withwhereis comskip
) - change the
--comskip-ini=
to the full path ofcomskip.ini
you extracted earlier jellyfin-drv-comskip.sh
should be executable, but just in casechmod +x jellyfin-drv-comskip.sh
- Open your Jellyfin client (web, Android, etc.)
- Dashboard > Live TV > DVR, then find the
Post-processing application:
field - Enter the path to the jellyfin-drv-comskip script (make sure it's the full absolute path)
<extracted_path>/config/comskip/jellyfin-drv-comskip.sh
- The Post-processor command line arguments should be
"{path}"
by default. If not, put it there - Save settings
Note: If you have this set up in your home folder and have issues, make sure your home folder has public read/exec permissions (e.g.
chmod /home/myuser 775
)
I am running jellyfin in an LXC container using a helper script. . I am getting a permissions error when running the script.
I'm certain this has to do with permissions but not sure what to do.
Any clue as to how to fix it?
2025-01-13 11:26:57.664 -06:00] [INF] Triggering refresh on "/var/lib/jellyfin/data/livetv/recordings/show.ts" [2025-01-13 11:26:57.666 -06:00] [INF] Refreshing recording parent "/var/lib/jellyfin/data/livetv/recordings" [2025-01-13 11:26:57.672 -06:00] [INF] Starting "/usr/lib/jellyfin-ffmpeg/ffprobe" with args "-analyzeduration 200M -probesize 1G -i file:\"/var/lib/jellyfin/data/livetv/recordings/show.ts\" -threads 0 -v warning -print_format json -show_streams -show_chapters -show_format" [2025-01-13 11:26:57.676 -06:00] [INF] Running recording post processor "/jellyfin-dvr-comskip/config/comskip/jellyfin-drv-comskip.sh" "\"/var/lib/jellyfin/data/livetv/recordings/show.ts\"" [2025-01-13 11:26:57.973 -06:00] [INF] Starting "/usr/lib/jellyfin-ffmpeg/ffprobe" with args "-analyzeduration 200M -probesize 1G -i file:\"/var/lib/jellyfin/data/livetv/recordings/show.en.srt\" -threads 0 -v warning -print_format json -show_streams -show_format" [2025-01-13 11:26:58.003 -06:00] [ERR] Error getting external streams from "/var/lib/jellyfin/data/livetv/recordings/show/show.en.srt" MediaBrowser.Common.FfmpegException: ffprobe failed - streams and format are both null. at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable
1 videoType, CancellationToken cancellationToken)at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable
1 videoType, CancellationToken cancellationToken) at MediaBrowser.Providers.MediaInfo.MediaInfoResolver.GetExternalStreamsAsync(Video video, Int32 startIndex, IDirectoryService directoryService, Boolean clearCache, CancellationToken cancellationToken)