EDL file creation seems to fail

I have it set up to auto create the file, but even if I do it manually, the process runs (based on CPU usage, and the settings tab saying it is running), however, no EDL file is created. It was working, but I put my own comskip.ini file in the data directory, and I noticed it stopped working. Then I removed my custom .ini file, but it still isn't working. Using the linux version if it matters.

[EDIT] it did actually work after I removed my custom .ini. I have been using the same .ini file for well over a year on both Windows and Linux with no issues (but in Comskip directly, not in Channels). Is there something I am missing? I put it in the data directory (within the install directory, in my home folder).

I only used that once.

Enabled it and it's working rescanning a previous recording on my NAS running Channels DVR v2020.09.22.0105.

I also tried it on an imported recording on my other NAS running Channels DVR v2020.09.30.1642 and it didn't kick off a comskip rescan of the imported recording, so attempting a new recording to see if it works.

I normally gen a VRD project file using comskip for my video editor and cut adverts with it, then save off to a different directory outside of Channels DVR.

P.S. Just figured out if you don't enable Commercial Detection in your Channels DVR settings, you can't re-comskip anything.

P.P.S. I use my own custom override comskip.ini also

Yep, worked for me on both Nas's with both versions mentioned.

Post your custom override comskip.ini file, perhaps you turned off .edl file generation in it?
output_edl=1

It''s fairly long, but like I said, I have been using it for a long time (just not with Channels. The default actually works well, except I want to add a bit of padding (2 seconds to the beginning and end) to each cut, and I don't want any commercials cut in the last 2 minutes. If I could get whatever config is the default, I could probably edit it. My assumption is that something is incompatible in my file.

Here it is:

detect_method=107 ;1=black frame, 2=logo, 4=scene change, 8=fuzzy logic, 16=closed captions, 32=aspect ration, 64=silence, 128=cutscenes, 255=all
validate_silence=1 ; Default, set to 0 to force using this clues if selected above.
validate_uniform=1 ; Default, set to 0 to force using this clues (like pure white frames) if blackframe is selected above.
validate_scenechange=1 ; Default, set to 0 to force using this clues if selected above.
verbose=0 ;show a lot of extra info, level 5 is also OK, set to 0 to disable
max_brightness=60 ;frame not black if any pixels checked are greater than this (scale 0 to 255)
test_brightness=40 ;frame not pure black if any pixels checked are greater than this, will check average brightness (scale 0 to 255)
max_avg_brightness=25 ;maximum average brightness for a dim frame to be considered black (scale 0 to 255) 0 means autosetting
max_commercialbreak=600 ;maximum length in seconds to consider a segment a commercial break
min_commercialbreak=31 ;minimum length in seconds to consider a segment a commercial break
max_commercial_size=125 ;maximum time in seconds for a single commercial or multiple commercials if no breaks in between
min_commercial_size=4 ;mimimum time in seconds for a single commercial
min_show_segment_length=125 ; any segment longer than this will be scored towards show.
non_uniformity=500 ; Set to 0 to disable cutpoints based on uniform frames
max_volume=500 ; any frame with sound volume larger than this will not be regarded as black frame
min_silence=12 ; Any deep silence longer than this amount of frames is a possible cutpoint
ticker_tape=0 ; Amount of pixels from bottom to ignore in all processing
logo_at_bottom=0 ; Set to 1 to search only for logo at the lower half of the video, do not combine with subtitle setting
punish=0 ; Compare to average for sum of 1=brightness, 2=uniform 4=volume, 8=silence, 16=schange, set to 0 to disable
punish_threshold=1.3 ; Multiply when amount is above average * punish_threshold
punish_modifier=2 ; When above average * threshold multiply score by this value
intelligent_brightness=0 ; Set to 1 to use a USA specific algorithm to tune some of the settings, not adviced outside the USA
logo_percentile=0.92 ; if more then this amount of logo is found then logo detection will be disabled
logo_threshold=0.75
punish_no_logo=1 ; Default, set to 0 to avoid show segments without logo to be scored towards commercial
aggressive_logo_rejection=0
connect_blocks_with_logo=1 ; set to 1 if you want successive blocks with logo on the transition to be regarded as connected, set to 0 to disable
logo_filter=0 ; set the size of the filter to apply to bad logo detection, 4 seems to be a good value.
cut_on_ar_change=1 ; set to 1 if you want to cut also on aspect ratio changes when logo is present, set to 2 to force cuts on aspect ratio changes. set to 0 to disable
delete_show_after_last_commercial=0 ; set to 1 if you want to delete the last block if its a show and after a commercial
delete_show_before_or_after_current=0 ; set to 1 if you want to delete the previous and the next show in the recording, this can lead to the deletion of trailers of next show
delete_block_after_commercial=0 ;set to max size of block in seconds to be discarded, set to 0 to disable
remove_before=0 ; amount of seconds of show to be removed before ALL commercials
remove_after=0 ; amount of seconds of show to be removed after ALL commercials
shrink_logo=5 ; Reduce the duration of the logo with this amount of seconds
after_logo=0 ; set to number of seconds after logo disappears comskip should start to search for silence to insert an additional cutpoint
padding=2
ms_audio_delay=5
volume_slip=40
skip_b_frames=0 ; Set to 1 to force Comskip to skip frames for higher processing speed.
hardware_decode=0 ; Set to 1 to enable hardware accelerated video decoding, only available in donator version
max_repair_size=200 ; Will repair maximum 200 missing MPEG frames in the timeline, set to 0 to disable repairing for players that don't use PTS.
disable_heuristics=4 bit pattern for disabling heuristics, adding 1 disables heristics 1, adding 2 disables heristics 2, adding 4 disables heristics 3, 255 disables all heuristics
delete_logo_file=1 ; set to 1 if you want comskip to tidy up after finishing
output_framearray=0 ; create a big excel file for detailed analysis, set to 0 to disable
output_data=0 ; create a dump of the user data channel, used for CC and XDS (such as V-Chip info). Can be use together with output_framearray to remote debug CC decoding
output_videoredo=0 ; The old videoredo format
output_videoredo3=0 ; The new videoredo v3 format.
output_womble=0
output_mls=0 ; set to 1 if you want MPeg Video Wizard bookmark file output
output_cuttermaran=0
output_mpeg2schnitt=0
output_mpgtx=0
output_dvrcut=0
output_zoomplayer_chapter=0
output_zoomplayer_cutlist=0
output_edl=1
output_dvrmstb=0 ; Set to 1 if you're running DVRMS-Toolbox
output_edlx=0
output_vcf=0
output_bsplayer=0
output_btv=0 ; set to 1 if you want Beyond TV chapter cutlist output
output_projectx=0 ; set to 1 if you want ProjectX cutlist output (Xcl)
output_avisynth=0
output_vdr=0 ; set to 1 if you want XBMC to skipping commercials
output_demux=0 ; set to 1 if you want comskip to demux the mpeg file while scanning
sage_framenumber_bug=0
sage_minute_bug=0
live_tv=1 ; set to 1 if you use parallelprocessing and need the output while recording
live_tv_retries=4 ; change to 16 when using live_tv in BTV, used for mpeg PS and TS
dvrms_live_tv_retries=300 ; only used for dvr_ms
standoff=0 ; change to 8000000 when using live_tv in BTV
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" "
windowtitle="Comskip - %s"
output_default=0
always_keep_last_seconds=120
edl_skip_field=3

I'm no expert on comskip, just use it to generate a VRD TVSuite Project file.
Look like yours includes the req'd output_edl=1

Here's the default Channels DVR comskip.ini and note defaults not specified are implied, see comskip.txt in your distro.

verbose=10
detect_method=123 ;; everything but scenechange
punish_no_logo=0
cc_correct_type_modifier=1
length_nonstrict_modifier=1.5 ;; required before below due to comskip.ini parsing bug
combined_length_nonstrict_modifier=1
min_show_segment_length=222
min_commercialbreak=45
use_existing_logo_file=0
logo_fraction=0.39
delete_logo_file=1
output_vdr=1
output_edl=1
output_ffmeta=1
output_ffsplit=1
thread_count=1
lowres=1

You can view the ini values used by examining the comskip log file video.log in the files directory, such as ChannelsDVR\Logs\comskip\2758

everything not explicitly implied uses the default value.

Screenshot_2020-10-10 Channels DVR(1)
If your setup is generating an edl file, you'll see it in the files directory
ChannelsDVR\Logs\comskip\2758 <- File ID of the recordnig
video.edl
video.ffmeta
video.ffsplit
video.log
video.mpg
video.txt
video.vdr
video.VPrj

To get Channels DVR to put a copy of the edl file in the directory where your recordings go
Super Factories S01E02 2020-07-22 McLaren Supercar 2020-10-07-0600.edl
Super Factories S01E02 2020-07-22 McLaren Supercar 2020-10-07-0600.json
Super Factories S01E02 2020-07-22 McLaren Supercar 2020-10-07-0600.mpg

you have to enable the Experimental EDL Export

Both of those options are checked. I am going to try and edit the stock config file to get the options I want. I'll report back.

I added:

always_keep_last_seconds=120
edl_skip_field=3
padding=2

to the default, and it appears to work fine. I'll know more once something real actually records.

I never was able to get this working like I think it should, so I finally gave up, and scripted my own Linux script that monitors the recording directory, and runs comskip on the file once it's done. My original .ini file works that way, and hopefully that will get my comercial skipping back to the quality I had it at.

The script would actually work for almost any post processing job (I use inotifywait to return the path of the .mpg file after recording is finished). If anyone thinks it would be useful, I will post the script here.