tannebil
April 14th, 2012, 05:00 PM
My workflow is to take TiVo and WTV files, apply the output profile "MPEG2 Program Stream (MPG)", run Ad Scan to create a Drax chapter file, and use VAPpost process to recode the output file using Handbrake, update the metadata using AP, and add the chapter stops using Drax.
I've been doing some testing trying to understand why I'm having a couple of odd problems and it appears that stall detection/retry is the source of the problems. In particular, if the Output Folder disk is busy (for example, I'm copying a bunch of large video files into Monitor Folder), stall detection gets fooled into thinking that VRD has stalled when, in fact, it is just running very slowly. If I'm not doing a copy, VRD takes about 40 seconds and 25% CPU to QSF a one hour show. However, if the disk is busy, the same QSF takes 20 minutes and VRD CPU is in single digits. Sometimes (but not always), this results in stall detection being triggered which shouldn't necessarily be a problem except that the retry doesn't seem to work properly.
As far as I can tell, retry:
1. Moves the stalled input file to stalled_files
2. Sets a timer equal to StallRetryIntervalMinutes
3. Moves to the next active file in Monitor Folder
4. After the timer expires, VAP moves the input file is moved back to Monitor Folder and processes it as a new file.
The problems I'm encountering are:
1. The partially completed output file sometimes still exists in Output Folder and a (2) version of the output file is created. VAP doesn't realize that VRD created the (2) version and the .apo and .drx files have the original, rather than the (2) name. VAPpostprocess fails to update the metadata and insert the chapter stops as both steps depend on the file names matching except in the extension.
2. When Drax fails and is left open with a "file not found" error, after a couple of minutes, VAP concludes that VAPpostprocess is complete and moves on to the next active file. They seem to process normally but don't get chapter stops and no error appears on the screen. Maybe something related to the way I call it? Or something in the way Drax works? Here's the way I call it.
"cmd /c ""%DraXpath%" /file:%outputFileM4V% /import:%inputFileDRX%"
3. Sometimes VAP appears to get confused and puts the output file in Temporary (QSF) Folder rather than Output Folder which causes VAPpostprocess to fail since it expects the output file to be in Output Folder. This seems to happen when I "Stop Processing" on a file in VAP (aborting VRD), delete the partially complete output file from Output Folder, and "Start Processing". It doesn't happen if I do a reset on the file before restarting processing.
4. Sometimes the retry doesn't happen. For example, VAP starts processing "The Bishop Revival". It stalls and gets moved to stalled_files. VAP moves to "Brown Betty" which also stalls and gets moved to stalled_files. "The Bishop Revival" gets moved back and processes successfully. However, it's now 1:49 and VAP hasn't done anything with "Brown Betty". Maybe the logic doesn't exist to handle more than one stalled file at a time?
4/14/2012 12:15:09 PM Started QSF, input: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:15:10 PM Using filter dimensions from MediaInfo: 1280 X 720
4/14/2012 12:15:10 PM Using profile: MPEG2 Program Stream
4/14/2012 12:15:13 PM VideoReDo said: INFO: VideoReDo version 4.20.7.635 - Mar 13 2012
4/14/2012 12:15:17 PM VideoReDo said: INFO: Applying QSF filter: 1280X720
4/14/2012 12:22:17 PM Clean up error for file: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo Unable to delete: .vprj file (may not be present)
4/14/2012 12:22:17 PM Repeating metadata generation for: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:22:18 PM Read 6 input filename metadata parsing template(s)
4/14/2012 12:22:18 PM Read 15 title translation data lines
4/14/2012 12:22:22 PM theTVDB metaData search succeeded for: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:35:11 PM STALL ERROR: VideoReDo process stalled -- killing it
4/14/2012 12:35:12 PM Moving input file: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:35:12 PM Started moving stalled file: "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo"
4/14/2012 12:35:12 PM Getting input file encoding for: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:35:28 PM MPEG2 is encoding for: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:35:28 PM Started QSF, input: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:35:29 PM Using filter dimensions from MediaInfo: 1280 X 720
4/14/2012 12:35:29 PM Using profile: MPEG2 Program Stream
4/14/2012 12:35:29 PM Finished moving "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo" to stalled folder
4/14/2012 12:35:33 PM VideoReDo said: INFO: VideoReDo version 4.20.7.635 - Mar 13 2012
4/14/2012 12:35:35 PM VideoReDo said: INFO: Applying QSF filter: 1280X720
4/14/2012 12:45:30 PM STALL ERROR: VideoReDo process stalled -- killing it
4/14/2012 12:45:30 PM Moving input file: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:45:30 PM Started moving stalled file: "Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo"
4/14/2012 12:45:30 PM Started moving stalled file: "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo" back for retry
4/14/2012 12:45:33 PM Finished moving "Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo" to stalled folder
4/14/2012 12:45:36 PM Finished moving "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo" back to monitor folder
4/14/2012 12:47:12 PM theTVDB metaData search succeeded for: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:47:12 PM MediaInfo failed on: "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo"
4/14/2012 12:47:12 PM Getting input file encoding for: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:47:31 PM MPEG2 is encoding for: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:47:31 PM Started QSF, input: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:47:32 PM MediaInfo failed to provide filter dimensions for this video. No filter will be applied
4/14/2012 12:47:32 PM No filter dimensions apply
4/14/2012 12:47:32 PM Using profile: MPEG2 Program Stream
4/14/2012 12:47:36 PM VideoReDo said: INFO: VideoReDo version 4.20.7.635 - Mar 13 2012
4/14/2012 12:47:39 PM VideoReDo said: INFO: No QSF filter to apply
4/14/2012 12:56:38 PM VideoReDo completed QSF on input: D:\Recorded TV\Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:56:38 PM Started Ad Scan/chapter marks, input: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:56:44 PM VideoReDo said: INFO: VideoReDo version 4.20.7.635 - Mar 13 2012
4/14/2012 12:56:47 PM VideoReDo said: INFO: Edit mode set to cut
4/14/2012 1:02:54 PM VideoReDo completed CHAPMARKS on input: O:\Recorded TV - VAP\Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).mpg
4/14/2012 1:02:54 PM Created Drax Chapter File
4/14/2012 1:02:55 PM Using thumbnail image: Fringe_thumbnail.jpg
4/14/2012 1:02:55 PM Wrote Atomic Parsley Options File
4/14/2012 1:02:55 PM User post process batch file started
4/14/2012 1:23:15 PM User post process batch file completed
4/14/2012 1:23:16 PM BATCH MSG: "Started HB run at 13:02:55.16 for Fringe-S02E14-The Bishop Revival-20100128"
4/14/2012 1:23:16 PM BATCH MSG: "Ended HB run at 13:20:07.84 for Fringe-S02E14-The Bishop Revival-20100128"
4/14/2012 1:23:16 PM BATCH MSG: "Started AP run at 13:20:07.85 for Fringe-S02E14-The Bishop Revival-20100128"
4/14/2012 1:23:16 PM BATCH MSG: "Ended AP run at 13:20:08.50 for Fringe-S02E14-The Bishop Revival-20100128"
I'll disable stall detection for the moment by reducing the stall CPU value to .01 in the XML file but it looks like stall detection and processing needs some adjustments. I tried increasing the processing priority for VAP using the command line argument but it doesn't appear to make any difference. Maybe my experience explains some of the other intermittent stalling issues being reported.
I've been doing some testing trying to understand why I'm having a couple of odd problems and it appears that stall detection/retry is the source of the problems. In particular, if the Output Folder disk is busy (for example, I'm copying a bunch of large video files into Monitor Folder), stall detection gets fooled into thinking that VRD has stalled when, in fact, it is just running very slowly. If I'm not doing a copy, VRD takes about 40 seconds and 25% CPU to QSF a one hour show. However, if the disk is busy, the same QSF takes 20 minutes and VRD CPU is in single digits. Sometimes (but not always), this results in stall detection being triggered which shouldn't necessarily be a problem except that the retry doesn't seem to work properly.
As far as I can tell, retry:
1. Moves the stalled input file to stalled_files
2. Sets a timer equal to StallRetryIntervalMinutes
3. Moves to the next active file in Monitor Folder
4. After the timer expires, VAP moves the input file is moved back to Monitor Folder and processes it as a new file.
The problems I'm encountering are:
1. The partially completed output file sometimes still exists in Output Folder and a (2) version of the output file is created. VAP doesn't realize that VRD created the (2) version and the .apo and .drx files have the original, rather than the (2) name. VAPpostprocess fails to update the metadata and insert the chapter stops as both steps depend on the file names matching except in the extension.
2. When Drax fails and is left open with a "file not found" error, after a couple of minutes, VAP concludes that VAPpostprocess is complete and moves on to the next active file. They seem to process normally but don't get chapter stops and no error appears on the screen. Maybe something related to the way I call it? Or something in the way Drax works? Here's the way I call it.
"cmd /c ""%DraXpath%" /file:%outputFileM4V% /import:%inputFileDRX%"
3. Sometimes VAP appears to get confused and puts the output file in Temporary (QSF) Folder rather than Output Folder which causes VAPpostprocess to fail since it expects the output file to be in Output Folder. This seems to happen when I "Stop Processing" on a file in VAP (aborting VRD), delete the partially complete output file from Output Folder, and "Start Processing". It doesn't happen if I do a reset on the file before restarting processing.
4. Sometimes the retry doesn't happen. For example, VAP starts processing "The Bishop Revival". It stalls and gets moved to stalled_files. VAP moves to "Brown Betty" which also stalls and gets moved to stalled_files. "The Bishop Revival" gets moved back and processes successfully. However, it's now 1:49 and VAP hasn't done anything with "Brown Betty". Maybe the logic doesn't exist to handle more than one stalled file at a time?
4/14/2012 12:15:09 PM Started QSF, input: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:15:10 PM Using filter dimensions from MediaInfo: 1280 X 720
4/14/2012 12:15:10 PM Using profile: MPEG2 Program Stream
4/14/2012 12:15:13 PM VideoReDo said: INFO: VideoReDo version 4.20.7.635 - Mar 13 2012
4/14/2012 12:15:17 PM VideoReDo said: INFO: Applying QSF filter: 1280X720
4/14/2012 12:22:17 PM Clean up error for file: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo Unable to delete: .vprj file (may not be present)
4/14/2012 12:22:17 PM Repeating metadata generation for: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:22:18 PM Read 6 input filename metadata parsing template(s)
4/14/2012 12:22:18 PM Read 15 title translation data lines
4/14/2012 12:22:22 PM theTVDB metaData search succeeded for: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:35:11 PM STALL ERROR: VideoReDo process stalled -- killing it
4/14/2012 12:35:12 PM Moving input file: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:35:12 PM Started moving stalled file: "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo"
4/14/2012 12:35:12 PM Getting input file encoding for: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:35:28 PM MPEG2 is encoding for: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:35:28 PM Started QSF, input: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:35:29 PM Using filter dimensions from MediaInfo: 1280 X 720
4/14/2012 12:35:29 PM Using profile: MPEG2 Program Stream
4/14/2012 12:35:29 PM Finished moving "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo" to stalled folder
4/14/2012 12:35:33 PM VideoReDo said: INFO: VideoReDo version 4.20.7.635 - Mar 13 2012
4/14/2012 12:35:35 PM VideoReDo said: INFO: Applying QSF filter: 1280X720
4/14/2012 12:45:30 PM STALL ERROR: VideoReDo process stalled -- killing it
4/14/2012 12:45:30 PM Moving input file: Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo
4/14/2012 12:45:30 PM Started moving stalled file: "Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo"
4/14/2012 12:45:30 PM Started moving stalled file: "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo" back for retry
4/14/2012 12:45:33 PM Finished moving "Fringe - ''Brown Betty'' (Recorded Apr 29, 2010, KCPQDT).TiVo" to stalled folder
4/14/2012 12:45:36 PM Finished moving "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo" back to monitor folder
4/14/2012 12:47:12 PM theTVDB metaData search succeeded for: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:47:12 PM MediaInfo failed on: "Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo"
4/14/2012 12:47:12 PM Getting input file encoding for: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:47:31 PM MPEG2 is encoding for: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:47:31 PM Started QSF, input: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:47:32 PM MediaInfo failed to provide filter dimensions for this video. No filter will be applied
4/14/2012 12:47:32 PM No filter dimensions apply
4/14/2012 12:47:32 PM Using profile: MPEG2 Program Stream
4/14/2012 12:47:36 PM VideoReDo said: INFO: VideoReDo version 4.20.7.635 - Mar 13 2012
4/14/2012 12:47:39 PM VideoReDo said: INFO: No QSF filter to apply
4/14/2012 12:56:38 PM VideoReDo completed QSF on input: D:\Recorded TV\Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:56:38 PM Started Ad Scan/chapter marks, input: Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).TiVo
4/14/2012 12:56:44 PM VideoReDo said: INFO: VideoReDo version 4.20.7.635 - Mar 13 2012
4/14/2012 12:56:47 PM VideoReDo said: INFO: Edit mode set to cut
4/14/2012 1:02:54 PM VideoReDo completed CHAPMARKS on input: O:\Recorded TV - VAP\Fringe - ''The Bishop Revival'' (Recorded Jan 28, 2010, KCPQDT).mpg
4/14/2012 1:02:54 PM Created Drax Chapter File
4/14/2012 1:02:55 PM Using thumbnail image: Fringe_thumbnail.jpg
4/14/2012 1:02:55 PM Wrote Atomic Parsley Options File
4/14/2012 1:02:55 PM User post process batch file started
4/14/2012 1:23:15 PM User post process batch file completed
4/14/2012 1:23:16 PM BATCH MSG: "Started HB run at 13:02:55.16 for Fringe-S02E14-The Bishop Revival-20100128"
4/14/2012 1:23:16 PM BATCH MSG: "Ended HB run at 13:20:07.84 for Fringe-S02E14-The Bishop Revival-20100128"
4/14/2012 1:23:16 PM BATCH MSG: "Started AP run at 13:20:07.85 for Fringe-S02E14-The Bishop Revival-20100128"
4/14/2012 1:23:16 PM BATCH MSG: "Ended AP run at 13:20:08.50 for Fringe-S02E14-The Bishop Revival-20100128"
I'll disable stall detection for the moment by reducing the stall CPU value to .01 in the XML file but it looks like stall detection and processing needs some adjustments. I tried increasing the processing priority for VAP using the command line argument but it doesn't appear to make any difference. Maybe my experience explains some of the other intermittent stalling issues being reported.