I’m trying to get Comskip to work and posted over in their forum since I can’t get help here. But I need to know how to manually run Comskip. Does anyone know how to do that on the Plex version? I can find the comskip.ini but no other file with comskip to execute.
It ran but failed to work. I’m not sure if it’s due to the problem that I’m trying to fix, it not removing anything, or if it’s because I manually ran it.
There’s the output.
Plex Commercial Skipper, made using ffmpeg
Donator build
The commandline used was:
"./Plex Commercial Skipper" "/media/tv/NCIS/Season 16/NCIS (2003) - S16E16 - Bears and Cubs.ts"
Using comskip.ini for initiation values.
Mpeg: /media/tv/NCIS/Season 16/NCIS (2003) - S16E16 - Bears and Cubs.ts
Exe comskip.exe
Logo: /media/tv/NCIS/Season 16/NCIS (2003) - S16E16 - Bears and Cubs.logo.txt
Ini: comskip.ini
Detection Methods to be used:
1) Black Frame
2) Logo - Give up after 2000 seconds
3) Resolution Change
4) Aspect Ratio
ComSkip throttles back from -0001 to -0001.
The time is now 0528 so it's full speed ahead!
Settings
--------
[Main Settings]
;the sum of the values for which kind of frames comskip will consider as possible cutpoints: 1=uniform (black or any other color) frame, 2=logo, 4=scene change, 8=resolution change, 16=closed captions, 32=aspect ration, 64=silence, 255=all.
detect_method=43
;Set to 10 to show a lot of extra info, level 5 is also OK, set to 0 to disable
verbose=10
;Frame not black if any of the pixels of the frame has a brightness greater than this (scale 0 to 255)
max_brightness=60
maxbright=1
;Frame not pure black if a small number of the pixels of the frame has a brightness greater than this. To decide if the frame is truly black, comskip will also check average brightness (scale 0 to 255)
test_brightness=40
;
max_avg_brightness=25
;
max_commercialbreak=600
;
min_commercialbreak=25
;
max_commercial_size=125
;
min_commercial_size=4
;
min_show_segment_length=250
;
max_volume=500
;
max_silence=100
;
non_uniformity=500
[Detailed Settings]
min_silence=12
remove_silent_segments=0
noise_level=5
brightness_jump=200
fps=22
validate_silence=1
validate_uniform=1
validate_scenechange=1
global_threshold=1.05
disable_heuristics=4
cut_on_ac_change=1
[CPU Load Reduction]
thread_count=2
hardware_decode=0
play_nice_start=-1
play_nice_end=-1
play_nice_sleep=2
[Input Correction]
max_repair_size=200
ms_audio_delay=5
volume_slip=40
lowres=0
skip_b_frames=0
[Aspect Ratio]
ar_delta=0.08
cut_on_ar_change=1
[Global Removes]
padding=0
remove_before=0
remove_after=0
added_recording=14
delete_show_after_last_commercial=0
delete_show_before_first_commercial=0
delete_show_before_or_after_current=0
delete_block_after_commercial=0
min_commercial_break_at_start_or_end=39
always_keep_first_seconds=0
always_keep_last_seconds=0
[USA Specific]
intelligent_brightness=0
black_percentile=0.0076
uniform_percentile=0.003
score_percentile=0.71
[Main Scoring]
length_strict_modifier=3
length_nonstrict_modifier=1.5
combined_length_strict_modifier=2
combined_length_nonstrict_modifier=1.25
ar_wrong_modifier=2
ac_wrong_modifier=1
excessive_length_modifier=0.01
dark_block_modifier=0.3
min_schange_modifier=0.5
max_schange_modifier=2
logo_present_modifier=0.01
punish_no_logo=1
[Detailed Scoring]
punish=0
reward=0
punish_threshold=1.3
punish_modifier=2
reward_modifier=0.5
[Logo Finding]
border=10
give_up_logo_search=2000
delay_logo_search=0
logo_max_percentage_of_screen=0.12
ticker_tape=0
ticker_tape_percentage=0
ignore_side=0
ignore_left_side=0
ignore_right_side=0
subtitles=0
logo_at_bottom=0
logo_threshold=0.75
logo_percentage_threshold=0.25
logo_filter=0
aggressive_logo_rejection=0
edge_level_threshold=5
edge_radius=2
edge_weight=10
edge_step=1
num_logo_buffers=50
use_existing_logo_file=1
two_pass_logo=1
[Logo Interpretation]
connect_blocks_with_logo=1
logo_percentile=0.92
logo_fraction=0.4
shrink_logo=5
shrink_logo_tail=0
before_logo=0
after_logo=0
where_logo=0
min_black_frames_for_break=1
[Closed Captioning]
ccCheck=0
cc_commercial_type_modifier=4
cc_wrong_type_modifier=2
cc_correct_type_modifier=0.75
[Live TV]
live_tv=0
live_tv_retries=4
require_div5=0
div5_tolerance=-1
incommercial_frames=1000
[Output Control]
output_default=1
output_chapters=0
output_plist_cutlist=0
output_zoomplayer_cutlist=0
output_zoomplayer_chapter=0
output_scf=0
output_vcf=0
output_vdr=0
output_projectx=0
output_avisynth=0
output_videoredo=0
output_videoredo3=0
videoredo_offset=2
output_btv=0
output_edl=1
output_live=0
edl_offset=0
timeline_repair=1
edl_skip_field=0
output_edlp=0
output_bsplayer=0
output_edlx=0
output_cuttermaran=0
output_mpeg2schnitt=0
output_womble=0
output_mls=0
output_mpgtx=0
output_dvrmstb=0
output_dvrcut=0
output_ipodchap=0
output_framearray=0
output_debugwindow=0
output_tuning=0
output_training=0
output_false=0
output_aspect=0
output_demux=0
output_data=0
output_srt=0
output_smi=0
output_timing=0
output_incommercial=0
output_ffmeta=0
output_ffsplit=0
delete_logo_file=0
output_mkvtoolnix=0
cutscene_frame=0
cutscene_threshold=10
windowtitle="Comskip - %s"
cuttermaran_options="cut=\"true\" unattended=\"true\" muxResult=\"false\" snapToCutPoints=\"true\" closeApp=\"true\""
mpeg2schnitt_options="mpeg2schnitt.exe /S /E /R25 /Z %2 %1"
avisynth_options="LoadPlugin(\"MPEG2Dec3.dll\") \nMPEG2Source(\"%s\")\n"
dvrcut_options="dvrcut \"%s.dvr-ms\" \"%s_clean.dvr-ms\" "
[Sage Workarounds]
sage_framenumber_bug=0
sage_minute_bug=0
enable_mencoder_pts=0
Input #0, mpegts, from '/media/tv/NCIS/Season 16/NCIS (2003) - S16E16 - Bears and Cubs.ts':
Duration: 00:59:59.75, start: 1.400000, bitrate: 11494 kb/s
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: mpeg2video ([2][0][0][0] / 0x0002), none(top first), 1920x1080 [SAR 1:1 DAR 16:9], Closed Captions, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Stream #0:1[0x101](eng): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, 5.0(side), s16p, 384 kb/s
Stream #0:2[0x102](spa): Audio: ac3 ([129][0][0][0] / 0x0081), 48000 Hz, mono, s16p, 128 kb/s (visual impaired)
[mpeg2_cuvid @ 0x4ca69c0] gray decoding requested but not enabled at configuration time
[mpeg2_cuvid @ 0x4ca69c0] Cannot load libnvcuvid.so.1
[mpeg2_cuvid @ 0x4ca69c0] Failed loading nvcuvid.
Unsupported codec!
Could not open video codec
/media/tv/NCIS/Season 16/NCIS (2003) - S16E16 - Bears and Cubs.ts: could not open video codec
Is there a setting somewhere related to hardware acceleration? Over on the Comskip forum they said that the error I got when I manually ran it is that is looking for a hardware decoder. I do not have hardware acceleration checked in transcoding.
I just ran into the same problem you did. The solution is to configure the environment to tell comskip where to find the libraries it is looking for. I think the important variable here is FFMPEG_EXTERNAL_LIBS, but I include the others because those are also ones that Plex uses.
Be sure to check that the FFMPEG_EXTERNAL_LIBS is correct for your install. That 392df4f-2183-linux-x86_64 looks like it may change from install to install. It looks suspiciously like it may change on version upgrades… not looking forward to that.
The issue for me seems to be that this doesn’t work on a SMB share any more. I’m not sure if that was a change in Plex, Comskip or SMB. Comskip works if the recording is on the local drive. So, I now have a cron job that runs every hour to move recordings from the local drive to the SMB share after commercials have been removed.
The error below is what you get if the video is stored on the fileshare? But it works on a file stored locally? In both instances, comskip is being invoked in exactly the same way?
It would seem that way. I have no idea why, but I’m guessing that something is different about the way that Linux can interact with a file on SMB vs native file structure.
For the purposes of this exercise, there is no difference. I do not believe that everything is equal in your situation except for the location of the files. But I guess you have a workaround already.