Commercials marked differently live vs post recording

Here you can ask your questions on how to use Comskip for the detection of commercials. Also questions on how to remove commercials are welcome
Phillie14586
Posts: 16
Joined: Wed Aug 21, 2013 10:42 pm

Commercials marked differently live vs post recording

Post by Phillie14586 »

I was running Comskip supplied with the EyeTV bundle until it started giving Wine errors. Erik suggested changing to the latest comskip so I am now running version 81_056. When I have it running during a recording I get awful commercial marking. If I clear that information and run comskip manually it does as well as the previous version. Why do I get so dramatically different markings when run during a recording versus after the recording is done?
erik
Site Admin
Posts: 3369
Joined: Sun Aug 21, 2005 3:49 pm

Re: Commercials marked differently live vs post recording

Post by erik »

Seems the implementation in comskip of waiting for the recording to complete is not working well
Can you set
verbose=10
and run during recording and send me the generated comskip log file.
Please also rerun after recording is finished and also send me the log file
Phillie14586
Posts: 16
Joined: Wed Aug 21, 2013 10:42 pm

Re: Commercials marked differently live vs post recording

Post by Phillie14586 »

Erik,
I sent you the files. I also finally made a donation for the great work you are doing with this program. Will the donation version make any difference?
erik
Site Admin
Posts: 3369
Joined: Sun Aug 21, 2005 3:49 pm

Re: Commercials marked differently live vs post recording

Post by erik »

Afraid not.
Your comskip during recording seems to end too soon or with a crash of comskip
Suggest to run comskip only after recording is finished for the moment.
Kragger
Posts: 10
Joined: Mon Nov 05, 2012 9:02 pm

Re: Commercials marked differently live vs post recording

Post by Kragger »

I've noticed a difference in behavior that may be relevant to the situation here.

The fundamental issue is that EyeTV renames a recording from <showname>.eyetvsched to <showname>.eyetv as soon as recording stops.

In comskip 81.049 the comskip appears to retain an open connection to the .mpg file and finish processing. In 81.56 it seems to open and close the file or at least not maintain an open connection as it looses the files location when the containing folder is renamed.

The finish of processing in .049:
Sleep while reading [retries= 3, time= 11, size=23975]
Sleep while reading [retries= 2, time= 12, size=23975]
Sleep while reading [retries= 1, time= 13, size=23975]
Wakeup after sleep [retries= 0, time= 14, size=23975]
0:35:22 - 154450 frames in 2109.20 sec(73.23 fps), 15.52 sec(5.41 fps), 0%
0:35:31 - 154961 frames in 2110.19 sec(73.43 fps), 1.00 sec(511.00 fps), 0%
[mpegts @ 0014c140] PES packet size mismatch
Last message repeated 1 times
[ac3 @ 002fcb60] incomplete frame

155419 frames decoded in 2110.69 seconds (73.63 fps)
"Z:\Library\Application Support\ETVComskip\comskip\comskip.exe" --output=/Users/admin/Documents/comskipOutput/0000000017e23ecc/ "--ini=/Library/Application Support/ETVComskip/comskip/comskip.ini" "/Users/admin/Documents/EyeTV Archive/The Chew - Vintage Dishes.eyetvsched/0000000017e23ecc.mpg"

Setting ini file to /Library/Application Support/ETVComskip/comskip/comskip.ini as per commandline
Using /Library/Application Support/ETVComskip/comskip/comskip.ini for initiation values.
Commercials were found.
The finish of .56
0:07:51 - 92834 frames in 1522.38 sec(60.98 fps), 4.73 sec(66.60 fps), 30%
Last message repeated 3 times
[ac3 @ 04fdb0a0] incomplete frame
[mpeg2video @ 04fdb3e0] 0x0 is invalid
0:07:56 - 93086 frames in 1527.02 sec(60.96 fps), 4.65 sec(54.19 fps), 30%
Last message repeated 17 times
[mpegts @ 0014c120] PES packet size mismatch
Last message repeated 1 times
"Z:\Library\Application Support\ETVComskip\comskip\comskip.exe" --output=/Users/admin/Documents/comskipOutput/0000000017e23828/ "--ini=/Library/Application Support/ETVComskip/comskip/comskip.ini" "/Users/admin/Documents/EyeTV Archive/The Chew - Vintage Dishes.eyetvsched/0000000017e23828.mpg"

Setting ini file to /Library/Application Support/ETVComskip/comskip/comskip.ini as per commandline
Using /Library/Application Support/ETVComskip/comskip/comskip.ini for initiation values.
[ac3 @ 052d3380] incomplete frame
/Users/admin/Documents/EyeTV Archive/The Chew - Vintage Dishes.eyetvsched/0000000017e23828.mpg: Can not open file
/Users/admin/Documents/EyeTV Archive/The Chew - Vintage Dishes.eyetvsched/0000000017e23828.mpg: Can not open file
/Users/admin/Documents/EyeTV Archive/The Chew - Vintage Dishes.eyetvsched/0000000017e23828.mpg: Can not open file
erik
Site Admin
Posts: 3369
Joined: Sun Aug 21, 2005 3:49 pm

Re: Commercials marked differently live vs post recording

Post by erik »

Indeed.

Comskip builds prior to 0.81.55 kept the recording file open.
Newer builds close the read access and reopen it again to see if the recording is still growing.
If during that closing and re-opening the file name is changed comskip will fail.

Suggest you always run comskip after the recording is finished or you have some other way to prevent the recording to be renamed.
Kragger
Posts: 10
Joined: Mon Nov 05, 2012 9:02 pm

Re: Commercials marked differently live vs post recording

Post by Kragger »

Unfortunately there is no way I'm aware of to keep it from being moved/renamed as it is a function of EyeTV to rename the directory when it completes the recording.

I don't currently have access to my system but I would guess if we created a hard link to the recording and had comskip work off of that file we could solve the directory renaming dilemma.

I'll test when I can and report back.
Phillie14586
Posts: 16
Joined: Wed Aug 21, 2013 10:42 pm

Re: Commercials marked differently live vs post recording

Post by Phillie14586 »

I tested a number of versions of Comskip over the weekend. 80_031 still gives an error with wine. The next version 80_032 stopped early. I tried several other versions between 80_032 and the latest donator version and they all seem to stop early when run during recording with EyeTV 3. I am assuming they are stopping when EyeTV changes the file extension on the package but have not confirmed that. All the versions worked well when run manually after the recording is finished.
erik
Site Admin
Posts: 3369
Joined: Sun Aug 21, 2005 3:49 pm

Re: Commercials marked differently live vs post recording

Post by erik »

The only option seems to be to have comskip open the recording one additional time and to keep it open to prevent eye-tv to rename it.
Seems rather crude......
Phillie14586
Posts: 16
Joined: Wed Aug 21, 2013 10:42 pm

Re: Commercials marked differently live vs post recording

Post by Phillie14586 »

I tried 81_049 and it still stops. The log does not show any errors it just looks like comskip just stopped. I thought some others were seeing errors where comskip was trying to reopen the file after EyeTV changed the name.
erik
Site Admin
Posts: 3369
Joined: Sun Aug 21, 2005 3:49 pm

Re: Commercials marked differently live vs post recording

Post by erik »

Don't use build 0.81.49 for processing during recording
Only the latest build is capable to do so, except for eye-tv as comskip closes the recording when it has reached the end, waits some time and then reopens to check of more recording is available.
Eye-tv renames the file after the recording is done, and comskip is sleeping at that moment so when comskip wakes up again to check if more recording is available the re-open fails and comskip aborts.
Phillie14586
Posts: 16
Joined: Wed Aug 21, 2013 10:42 pm

Re: Commercials marked differently live vs post recording

Post by Phillie14586 »

Erik,
I am a bit confused with your response. 0.80.31 used to process the video during recording just fine until I started getting errors from Wine. Also your post on Sept. 13 you said that versions prior to 0.81.55 kept the connection open which seemed to be confirmed by Kragger. I tried 0.81.49 since he had good luck with that version staying connected. I am wondering if something else is going on with my system since the log files just stop with no errors when trying to process the file during recording. Kragger seemed to get an actual error if comskip tried to access the file after it was renamed.
erik
Site Admin
Posts: 3369
Joined: Sun Aug 21, 2005 3:49 pm

Re: Commercials marked differently live vs post recording

Post by erik »

There are many things in either eye-tv or the video encoding or container format that could have changed causing you to have problems

Build 0.81.031 works fine for processing during recording but not for h.264.
Kragger
Posts: 10
Joined: Mon Nov 05, 2012 9:02 pm

Re: Commercials marked differently live vs post recording

Post by Kragger »

Phillie,

Are you using the wine that comes with the SkipCommercials package or the one from MacPorts?

I'm using the MacPorts version and I don't get errors, at least not consistently.

Also I was able to use python to create a hard link to a static external folder so the openning/closing that comskip doesn't get interrupted. 81-56 is working well so far.
Phillie14586
Posts: 16
Joined: Wed Aug 21, 2013 10:42 pm

Re: Commercials marked differently live vs post recording

Post by Phillie14586 »

Kragger,
To tell you the truth I am not sure what version of Wine I am using. I should have kept some notes when I set things up. When I was first getting these errors I tried to update wine following some directions I found on the web from MacPorts. Since that didn't work I suspect I don't have their version. If I could find directions on how to remove my current version of Wine and update it I would try. This Wine and Xquartz thing is just beyond my comfortable understanding.

Comskip 81.56 doesn't give me Wine errors it just stops presumably when eyetv changes the name.

I do pretty well with Applescript but when it gets to python and terminal commands I am out of my comfort zone. I probably should learn something about python since I have been wondering what MarkCommercials really does.

I am thinking I need to adjust my workflow to having my RecordingDone script run comskip and just mark things after the recording is completed instead of during the recording.
Post Reply