clinton-hall / nzbToMedia

Provides NZB and Torrent postprocessing To CouchPotatoServer, SickBeard/SickRage, HeadPhones, Mylar and Gamez
GNU General Public License v3.0
672 stars 176 forks source link

[DEV] FAILED: [some.name] is corrupted! (NzbDrone) #375

Closed schumi2004 closed 10 years ago

schumi2004 commented 10 years ago

2014-05-07 13:49:34 INFO ::MAIN: Loading config from [/volume1/@appstore/scripts/nzbToMedia/autoProcessMedia.cfg] 2014-05-07 13:49:35 INFO ::MAIN: Checking database structure... 2014-05-07 13:49:35 INFO ::MAIN: Version checking is disabled, not checking for the newest version 2014-05-07 13:49:35 INFO ::MAIN: nzbToMedia Version:9.3 Branch:dev (Linux 2.6.32.12) 2014-05-07 13:49:35 INFO ::MAIN: ######################################################### 2014-05-07 13:49:35 INFO ::MAIN: ## ..::[nzbToMedia.py]::.. ## 2014-05-07 13:49:35 INFO ::MAIN: ######################################################### With todays DEV code PP failes. Not sure why it checks for corruption using ffmpeg since i didn't enter path for it, i don't want it to check for corruption anyway.

2014-05-07 13:49:35 INFO ::MAIN: Script triggered from NZBGet (11.0 or later). 2014-05-07 13:49:35 INFO ::MAIN: Auto-detected SECTION:NzbDrone 2014-05-07 13:49:35 INFO ::MAIN: Calling NzbDrone:serie to post-process:Marvels.Agents.of.S.H.I.E.L.D.S01E21.HDTV.x264-2HD.nzb 2014-05-07 13:49:35 INFO ::MAIN: Attempting to verify serie fork 2014-05-07 13:49:40 INFO ::MAIN: NzbDrone:serie fork set to default 2014-05-07 13:49:40 INFO ::TRANSCODER: Checking [marvels.agents.of.s.h.i.e.l.d.s01e21.hdtv.x264-2hd.mp4] for corruption, please stand by ... 2014-05-07 13:49:41 ERROR ::TRANSCODER: FAILED: [marvels.agents.of.s.h.i.e.l.d.s01e21.hdtv.x264-2hd.mp4] is corrupted! 2014-05-07 13:49:41 WARNING ::NZBDRONE: No media files found in directory /volume1/downloads/dst/serie/Marvels.Agents.of.S.H.I.E.L.D.S01E21.HDTV.x264-2HD. Processing this as a failed download 2014-05-07 13:49:41 POSTPROCESS::NZBDRONE: FAILED: The download failed. Sending 'failed' process request to default branch 2014-05-07 13:49:47 POSTPROCESS::NZBDRONE: { 2014-05-07 13:49:47 POSTPROCESS::NZBDRONE: "name": "DownloadedEpisodesScan", 2014-05-07 13:49:47 POSTPROCESS::NZBDRONE: "startedOn": "0001-01-01T00:00:00Z", 2014-05-07 13:49:47 POSTPROCESS::NZBDRONE: "stateChangeTime": "2014-05-07T11:49:46.959542Z", 2014-05-07 13:49:47 POSTPROCESS::NZBDRONE: "sendUpdatesToClient": false, 2014-05-07 13:49:47 POSTPROCESS::NZBDRONE: "state": "pending", 2014-05-07 13:49:47 POSTPROCESS::NZBDRONE: "id": 35359 2014-05-07 13:49:47 POSTPROCESS::NZBDRONE: }

clinton-hall commented 10 years ago

ok, so you want an option to disable this check?

Can I just ask why? Since this video file would appear to have a major problem?

clinton-hall commented 10 years ago

It looks that inspite of this check, it actually still sends to NZBDrone the same scan command anyway... so NZBDrone will still do the handling of this...

The fact that it failed after this is something I'm still trying to debug. Do you have logs from NZBGet that show the trace-back?

schumi2004 commented 10 years ago

I'll try to grab some logs from nzbget

Why would this video file have a major problem? I haven't checked with ffmpreg in the first place since i didn't set path in nzbtomedia.cfg? Or does it autocheck for it? I recently uploaded a newer version for comskip. IF the file would have a major problem why does NzbDrone think it's downloaded and marked it OK with a file path that doesn't exist?

I did another test Post-process-script nzbToNzbDrone.py for Supernatural.S09E21.HDTV.x264-LOL failed (terminated with unknown status)

2014-05-07 14:02:42 INFO ::MAIN: Loading config from [/volume1/@appstore/scripts/nzbToMedia/autoProcessMedia.cfg] 2014-05-07 14:02:42 INFO ::MAIN: Checking database structure... 2014-05-07 14:02:43 INFO ::MAIN: Version checking is disabled, not checking for the newest version 2014-05-07 14:02:43 INFO ::MAIN: nzbToMedia Version:9.3 Branch:dev (Linux 2.6.32.12) 2014-05-07 14:02:43 INFO ::MAIN: ######################################################### 2014-05-07 14:02:43 INFO ::MAIN: ## ..::[nzbToMedia.pyc]::.. ## 2014-05-07 14:02:43 INFO ::MAIN: ######################################################### 2014-05-07 14:02:43 INFO ::MAIN: Script triggered from NZBGet (11.0 or later). 2014-05-07 14:02:43 INFO ::MAIN: Auto-detected SECTION:NzbDrone 2014-05-07 14:02:43 INFO ::MAIN: Calling NzbDrone:serie to post-process:Supernatural.S09E21.HDTV.x264-LOL.nzb 2014-05-07 14:02:43 INFO ::MAIN: Attempting to verify serie fork 2014-05-07 14:02:45 INFO ::MAIN: NzbDrone:serie fork set to default 2014-05-07 14:02:45 INFO ::TRANSCODER: Checking [supernatural.921.hdtv-lol.mp4] for corruption, please stand by ... 2014-05-07 14:02:48 INFO ::TRANSCODER: SUCCESS: [supernatural.921.hdtv-lol.mp4] has no corruption. 2014-05-07 14:02:49 WARNING ::NZBDRONE: No media files found in directory /volume1/downloads/dst/serie/Supernatural.S09E21.HDTV.x264-LOL. Processing this as a failed download 2014-05-07 14:02:49 POSTPROCESS::NZBDRONE: FAILED: The download failed. Sending 'failed' process request to default branch 2014-05-07 14:02:50 POSTPROCESS::NZBDRONE: { 2014-05-07 14:02:50 POSTPROCESS::NZBDRONE: "name": "DownloadedEpisodesScan", 2014-05-07 14:02:50 POSTPROCESS::NZBDRONE: "startedOn": "0001-01-01T00:00:00Z", 2014-05-07 14:02:50 POSTPROCESS::NZBDRONE: "stateChangeTime": "2014-05-07T12:02:50.50002Z", 2014-05-07 14:02:50 POSTPROCESS::NZBDRONE: "sendUpdatesToClient": false, 2014-05-07 14:02:50 POSTPROCESS::NZBDRONE: "state": "pending", 2014-05-07 14:02:50 POSTPROCESS::NZBDRONE: "id": 35532 2014-05-07 14:02:50 POSTPROCESS::NZBDRONE: }

Would that file be corrupt also? NzbDrone doesn't think so and says it's available /volume1/series/Supernatural/Season 09/supernatural.s09e21.hdtv.x264-lol.mp4

schumi2004 commented 10 years ago

Not much useful info from nzbget Wed May 7 13:49:48 2014 ERROR Post-process-script nzbToNzbDrone.py for Marvels.Agents.of.S.H.I.E.L.D.S01E21.HDTV.x264-2HD failed (terminated with unknown status) Wed May 7 14:02:51 2014 ERROR Post-process-script nzbToNzbDrone.py for Supernatural.S09E21.HDTV.x264-LOL failed (terminated with unknown status)

How to show trace-back?

/edit: Checked a few log items and do another test

schumi2004 commented 10 years ago

Another test, funny to see it doesn't have corruption now. How does it check for corruption if you don't have a baseline from it?

Wed May 7 14:10:26 2014 INFO Unpack for Chicago.Fire.S02E21.HDTV.x264-LOL successful Wed May 7 14:10:27 2014 INFO Checking renamed files for Chicago.Fire.S02E21.HDTV.x264-LOL Wed May 7 14:10:27 2014 INFO No renamed files found for Chicago.Fire.S02E21.HDTV.x264-LOL Wed May 7 14:10:27 2014 INFO Cleaning up Chicago.Fire.S02E21.HDTV.x264-LOL Wed May 7 14:10:27 2014 INFO Deleting file chicago.fire.221.hdtv-lol.par2 Wed May 7 14:10:27 2014 INFO Deleting file chicago.fire.221.hdtv-lol.sfv Wed May 7 14:10:27 2014 INFO Cleanup for Chicago.Fire.S02E21.HDTV.x264-LOL successful Wed May 7 14:10:27 2014 INFO Executing post-process-script nzbToNzbDrone.py for Chicago.Fire.S02E21.HDTV.x264-LOL Wed May 7 14:10:34 2014 INFO nzbToNzbDrone: [14:10:34] [INFO]::MAIN: Loading config from [/volume1/@appstore/scripts/nzbToMedia/autoProcessMedia.cfg] Wed May 7 14:10:34 2014 INFO nzbToNzbDrone: [14:10:34] [INFO]::MAIN: Checking database structure... Wed May 7 14:10:34 2014 INFO nzbToNzbDrone: [14:10:34] [INFO]::MAIN: Version checking is disabled, not checking for the newest version Wed May 7 14:10:34 2014 INFO nzbToNzbDrone: [14:10:34] [INFO]::MAIN: nzbToMedia Version:9.3 Branch:dev (Linux 2.6.32.12) Wed May 7 14:10:35 2014 INFO nzbToNzbDrone: [14:10:35] [INFO]::MAIN: ######################################################### Wed May 7 14:10:35 2014 INFO nzbToNzbDrone: [14:10:35] [INFO]::MAIN: ## ..::[nzbToMedia.pyc]::.. ## Wed May 7 14:10:35 2014 INFO nzbToNzbDrone: [14:10:35] [INFO]::MAIN: ######################################################### Wed May 7 14:10:35 2014 INFO nzbToNzbDrone: [14:10:35] [INFO]::MAIN: Script triggered from NZBGet (11.0 or later). Wed May 7 14:10:35 2014 INFO nzbToNzbDrone: [14:10:35] [INFO]::MAIN: Auto-detected SECTION:NzbDrone Wed May 7 14:10:35 2014 INFO nzbToNzbDrone: [14:10:35] [INFO]::MAIN: Calling NzbDrone:serie to post-process:Chicago.Fire.S02E21.HDTV.x264-LOL.nzb Wed May 7 14:10:35 2014 INFO nzbToNzbDrone: [14:10:35] [INFO]::MAIN: Attempting to verify serie fork Wed May 7 14:10:36 2014 INFO nzbToNzbDrone: [14:10:36] [INFO]::MAIN: NzbDrone:serie fork set to default Wed May 7 14:10:36 2014 INFO nzbToNzbDrone: [14:10:36] [INFO]::TRANSCODER: Checking [chicago.fire.221.hdtv-lol.mp4] for corruption, please stand by ... Wed May 7 14:10:39 2014 INFO nzbToNzbDrone: [14:10:39] [INFO]::TRANSCODER: SUCCESS: [chicago.fire.221.hdtv-lol.mp4] has no corruption. Wed May 7 14:10:39 2014 INFO nzbToNzbDrone: [14:10:39] [INFO]::MAIN: FLATTEN: Flattening directory: /volume1/downloads/dst/serie/Chicago.Fire.S02E21.HDTV.x264-LOL Wed May 7 14:10:39 2014 INFO nzbToNzbDrone: [14:10:39] [POSTPROCESS]::NZBDRONE: SUCCESS: The download succeeded, sending a post-process request Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: [14:10:40] [POSTPROCESS]::NZBDRONE: { Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: [14:10:40] [POSTPROCESS]::NZBDRONE: "name": "DownloadedEpisodesScan", Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: [14:10:40] [POSTPROCESS]::NZBDRONE: "startedOn": "0001-01-01T00:00:00Z", Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: [14:10:40] [POSTPROCESS]::NZBDRONE: "stateChangeTime": "2014-05-07T12:10:40.409417Z", Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: [14:10:40] [POSTPROCESS]::NZBDRONE: "sendUpdatesToClient": false, Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: [14:10:40] [POSTPROCESS]::NZBDRONE: "state": "pending", Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: [14:10:40] [POSTPROCESS]::NZBDRONE: "id": 35685 Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: [14:10:40] [POSTPROCESS]::NZBDRONE: } Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: Traceback (most recent call last): Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: File "/volume1/@appstore/scripts/nzbToMedia/nzbToNzbDrone.py", line 109, in Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: result = nzbToMedia.main(sys.argv, section) Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: File "/volume1/@appstore/scripts/nzbToMedia/nzbToMedia.py", line 434, in main Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: clientAgent=clientAgent, download_id=download_id, inputCategory=os.environ['NZBPP_CATEGORY']) Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: File "/volume1/@appstore/scripts/nzbToMedia/nzbToMedia.py", line 342, in process Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: inputCategory) Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: File "/volume1/@appstore/scripts/nzbToMedia/nzbtomedia/autoProcess/autoProcessTV.py", line 197, in processEpisode Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: timeout = time.time() + 60 * wait_for Wed May 7 14:10:40 2014 INFO nzbToNzbDrone: NameError: global name 'wait_for' is not defined Wed May 7 14:10:40 2014 ERROR Post-process-script nzbToNzbDrone.py for Chicago.Fire.S02E21.HDTV.x264-LOL failed (terminated with unknown status) Wed May 7 14:10:40 2014 INFO Executing post-process-script userscripts/Logger.py for Chicago.Fire.S02E21.HDTV.x264-LOL Wed May 7 14:10:42 2014 INFO Post-process-script userscripts/Logger.py for Chicago.Fire.S02E21.HDTV.x264-LOL successful Wed May 7 14:10:42 2014 INFO Unpausing download after post-process-script Wed May 7 14:10:42 2014 INFO Cleaning up download queue for Chicago.Fire.S02E21.HDTV.x264-LOL Wed May 7 14:10:42 2014 DETAIL Deleting file chicago.fire.221.hdtv-lol.vol00+01.par2 from download queue Wed May 7 14:10:42 2014 DETAIL Deleting file chicago.fire.221.hdtv-lol.vol01+02.par2 from download queue Wed May 7 14:10:42 2014 DETAIL Deleting file chicago.fire.221.hdtv-lol.vol03+04.par2 from download queue Wed May 7 14:10:42 2014 DETAIL Deleting file chicago.fire.221.hdtv-lol.vol07+08.par2 from download queue Wed May 7 14:10:42 2014 DETAIL Deleting file chicago.fire.221.hdtv-lol.vol15+16.par2 from download queue Wed May 7 14:10:42 2014 DETAIL Deleting file chicago.fire.221.hdtv-lol.vol31+09.par2 from download queue Wed May 7 14:10:42 2014 INFO Collection Chicago.Fire.S02E21.HDTV.x264-LOL added to history

schumi2004 commented 10 years ago

ok, so you want an option to disable this check?

An option to disable this check would be more then welcome, i don't trust the outcome of it. Never had issues with files and now suddenly i would have 2 corrupt media files?

/edit I re-downloaded a so called corrupt file after adding import time and now this file is suddenly valid. I did manual add import time you comitted last, would be the cause of corruption? http://pastebin.com/FSPJ8cur

clinton-hall commented 10 years ago

Ok. I'll add a switch for this... Was trying to help auto-detect a lot of fakes that some users are having.

The way it currently works, it finds ffprobe in system path and if it can't find there it looks into the path you specify.

This uses ffprobe to simply verify that the media stream is valid and playable.. Perhaps it might be detecting some non-standard encoding issues... Possibly some tweaking to be done there (in addition to a disable option).

I'll do this tomorrow. For now, this is giving you errors, but still appears to be sending to drone correctly?

schumi2004 commented 10 years ago

It's there if it passed ffprobe check. but i also noticed this in autoProcesstv.py

NameError: global name 'wait_for' is not defined

clinton-hall commented 10 years ago

Yeah... I'm trying to resolve that now.

clinton-hall commented 10 years ago

Ok... Wait_for should be fixed.

For now, set delete_failed = 0 and files that fail ffprobe should still be processed.... I'll add the option to disable tomorrow. Need sleep here.

schumi2004 commented 10 years ago

Thanks, good night ;)

schumi2004 commented 10 years ago

Delete failed isn't available in NZBget gui for seperate items nzbtonzbdrone, i'll switch to nzbtomedia

/edit Not there either. in nzbtomedia.cfg it's already set to 0

clinton-hall commented 10 years ago

Ok... set the new option check_media = 0

this will bypass ffprobe checks.

I still want to look to see how we should pass failed results into NZBDrone...

schumi2004 commented 10 years ago

Cool, thanks. I'll test. Regarding passing failed. I heard that it works in nzbdrone development version which is recently merged with master, I'll test that as well.