Auteur Topic: Post proces script extract subs to srt  (gelezen 6931 keer)

Offline TheMystery

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 13
Post proces script extract subs to srt
« Gepost op: 12 november 2015, 18:07:18 »
Hallo,

Ik zoek een script die in de default download dir uit een mkv de ondertiteling extract.
Nu kan dit heel gemakkelijk met ffmpeg, dit heb ik getest en werkt goed op mijn synology alleen zou ik het via een script willen laten lopen via nzbget.
Nu zit er een optie in het script nzbtomedia om dit te doen, maar dit script is gemaakt voor couchpatato en sickbeard en is gemaakt om media om te zetten.
Is er een script die alleen de srt files extract?
  • Mijn Synology: DS415+
  • HDD's: WD40EFRX

Offline Birdy

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 1064
  • -Ontvangen: 6388
  • Berichten: 37.718
  • Synology is awesome.
    • RAID = BACKUP?
Re: Post proces script extract subs to srt
« Reactie #1 Gepost op: 12 november 2015, 21:26:22 »
Nee, die staat niet in het lijstje. en hier ook niet.
Maar ja, ik denk dat je ook de enige NZBGet gebruiker bent die uit een mkv de ondertiteling wil extracten middels een post-processing script. ::)


CS406     DSM 2.0-0731       [ARCHIEF OPSLAG]
DS107+    DSM 3.1-1639       [ARCHIEF OPSLAG]
DS107+    DSM 3.1-1639       [ARCHIEF OPSLAG]
DS508     DSM 4.0-2265       [ARCHIEF OPSLAG]
DS111     DSM 6.1.7-15284-3  [ARCHIEF OPSLAG]
DS411slim DSM 6.2.4-25556    [SPEELTJE]
DS411+II  DSM 6.2.3-25426-3  [BACKUP]
DS413J    DSM 6.2.3-25426-2  [Surveillance]
DS716+II  DSM 6.2.4-25556    [TEST]
-----VMM  DSM 7.0-41222      [BETA]
DS918+    DSM 6.2.3-25426-3  [PROD]
RT2600ac  SRM 1.2.4-8081-2   [PROD]
MR2200ac  SRM 1.2.4-8081-2   [PROD]

Offline TheMystery

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 13
Re: Post proces script extract subs to srt
« Reactie #2 Gepost op: 12 november 2015, 21:36:25 »
Helaas, maar nzbget is de enige plaatst waar het geautomatiseerd mee zou kunnen.
  • Mijn Synology: DS415+
  • HDD's: WD40EFRX

Ben(V)

  • Gast
Re: Post proces script extract subs to srt
« Reactie #3 Gepost op: 12 november 2015, 22:48:27 »
Op zich zijn het een paar regels python om ffmpeg aan te roepen en daarmee een sub uit de mkv te extracten.
Heb helaas momenteel geen tijd iets voor je te schrijven.

Offline TheMystery

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 13
Re: Post proces script extract subs to srt
« Reactie #4 Gepost op: 12 november 2015, 23:02:01 »
Het zal idd niet veel code zijn, maar heb zelf nooit een python programma gemaakt en programmeren is voor mij al weer 10 jaar geleden.
En als je het goed wil doen dat alle subs extract worden met dezelfde naam als de mkv en extensie voor NL en Engels is het stiekem toch wat meer code.
  • Mijn Synology: DS415+
  • HDD's: WD40EFRX

Offline TheMystery

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 13
Re: Post proces script extract subs to srt
« Reactie #5 Gepost op: 12 november 2015, 23:14:42 »
Hier wel een script gevonden:
https://github.com/xelfer/scripts/blob/master/mkv2srt.py

Eens een keer kijken of ik tijd heb of ik deze werkend krijg binnen nzbget.
  • Mijn Synology: DS415+
  • HDD's: WD40EFRX

Offline TheMystery

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 13
Re: Post proces script extract subs to srt
« Reactie #6 Gepost op: 13 november 2015, 09:47:18 »
Ik heb nu het script een beetje aangepast en deze werkt nu via de commandline:

#!/usr/bin/env python
#
##############################################################################
### NZBGET POST-PROCESSING SCRIPT                                          ###

#
# Script to rip srt/ssa subtitles out of .mkv files
# Usage: scriptname.py [filename.mkv]
# If the filename isn't specified all .mkv files in the current directory will be processed
# Developed with ffmpeg 2.1.1, you probably want that or higher if this doesn't work
#

##############################################################################
### OPTIONS                                                                ###

### NZBGET POST-PROCESSING SCRIPT                                          ###
##############################################################################

import glob, re, argparse
from subprocess import call

ffmpeg = '/usr/syno/bin/ffmpeg'

parser = argparse.ArgumentParser(description='Extract subtitles from mkv files.')
parser.add_argument('-f', '--file', help="source filename (mkv) to extract subtitle from")
args = parser.parse_args()

def process(i):
        return [ffmpeg, '-i', i, re.sub(r".mkv", ".nl.srt", i)]

if args.file is None:
        mkvs = glob.glob("*.mkv")
        if (len(mkvs) == 0):
                print "No .mkv files in current directory"
        for i in mkvs:
                call(process(i))
else:
        call(process(args.file))

Als ik deze nu via NZBget uit laat voeren dan wordt deze niet in de goede dir uitgevoerd, krijg namelijk de melding:
No .mkv files in current directory
Nu zal ik in het script de parameter NZBPP_DIRECTORY moeten verwerken zodat deze in de juiste dir uitgevoerd wordt, alleen kom ik hier niet echt uit.
Iemand een tip hiervoor?
  • Mijn Synology: DS415+
  • HDD's: WD40EFRX

Offline TheMystery

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 13
Re: Post proces script extract subs to srt
« Reactie #7 Gepost op: 13 november 2015, 10:53:03 »
Uiteindelijk allemaal werkend gekregen met het volgende script:

#!/usr/bin/env python
#
##############################################################################
### NZBGET POST-PROCESSING SCRIPT                                          ###

#
# Script to rip srt/ssa subtitles out of .mkv files
# Usage: scriptname.py [filename.mkv]
# If the filename isn't specified all .mkv files in the current directory will be processed
# Developed with ffmpeg 2.1.1, you probably want that or higher if this doesn't work
#

##############################################################################
### OPTIONS                                                                ###

### NZBGET POST-PROCESSING SCRIPT                                          ###
##############################################################################

import glob, re, argparse, os, sys
from subprocess import call

os.chdir(os.environ['NZBPP_DIRECTORY'])

# Exit codes used by NZBGet
POSTPROCESS_SUCCESS=93
POSTPROCESS_ERROR=94

ffmpeg = '/usr/syno/bin/ffmpeg'

parser = argparse.ArgumentParser(description='Extract subtitles from mkv files.')
parser.add_argument('-f', '--file', help="source filename (mkv) to extract subtitle from")
args = parser.parse_args()

def process(i):
        return [ffmpeg, '-i', i, re.sub(r".mkv", ".nl.srt", i)]

if args.file is None:
        mkvs = glob.glob("*.mkv")
        if (len(mkvs) == 0):
                print "No .mkv files in current directory"
        for i in mkvs:
                call(process(i))
else:
        call(process(args.file))

sys.exit(POSTPROCESS_SUCCESS)

Het script exporteert de default sub spoor, in de meeste gevallen zal dit het nl spoor zijn met wat ik download dus voor mij voldoet dit script.
Maar het zal veel geavanceerder kunnen maar voor nu werkt het voor mij.
  • Mijn Synology: DS415+
  • HDD's: WD40EFRX

Offline hamkaastosti

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 12
Re: Post proces script extract subs to srt
« Reactie #8 Gepost op: 21 augustus 2016, 18:43:22 »
Dit is precies wat ik zoek! jammer genoeg krijg ik wel een foutmelding..
Sun Aug 21 17:31:14 2016 INFO Executing post-process-script srt_mkv.py for SUITS (2015) S06E04 H_264 (WEB-DL) DD5_1 1080p NLSubs -Q o Q-
Sun Aug 21 17:31:15 2016 INFO srt_mkv:   File "/usr/local/nzbget/share/nzbget/scripts/srt_mkv.py", line 36
Sun Aug 21 17:31:15 2016 INFO srt_mkv:             return [ffmpeg, '-i', i, re.sub(r".mkv", ".nl.srt", i)]
Sun Aug 21 17:31:15 2016 INFO srt_mkv:     ^
Sun Aug 21 17:31:15 2016 INFO srt_mkv: SyntaxError: invalid syntax
Sun Aug 21 17:31:15 2016 ERROR Post-process-script srt_mkv.py for SUITS (2015) S06E04 H_264 (WEB-DL) DD5_1 1080p NLSubs -Q o Q- failed (terminated with unknown status)

jammer genoeg zelf geen ervaring met python, iemand die hier wel ervaring mee heeft.
U bent me eeuwig dankbaar!
  • Mijn Synology: DS116
  • HDD's: 1x 4TB

Ben(V)

  • Gast
Re: Post proces script extract subs to srt
« Reactie #9 Gepost op: 21 augustus 2016, 19:35:36 »
Staat er wel ffmpeg op je systeem?
Kun je testen door met putty inte loggen en gewoon ffmpeg uit tevoeren.

Offline hamkaastosti

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 12
Re: Post proces script extract subs to srt
« Reactie #10 Gepost op: 21 augustus 2016, 20:17:28 »
Ja. Als ik het handmatig doe, ffmpeg -i Movie.mkv -map 0:s:0 subs.srt, dan werkt hij perfect
  • Mijn Synology: DS116
  • HDD's: 1x 4TB

Ben(V)

  • Gast
Re: Post proces script extract subs to srt
« Reactie #11 Gepost op: 21 augustus 2016, 21:19:10 »
In dat geval zit ffmpeg in je path, misschien draait nzbget in een virtual enviroment en kan het script ffmpeg niet vinden.
Probeer eens deze regel:
Citaat
ffmpeg = '/usr/syno/bin/ffmpeg'
Te veranderen in:
Citaat
ffmpeg = 'ffmpeg'

Offline hamkaastosti

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 12
Re: Post proces script extract subs to srt
« Reactie #12 Gepost op: 21 augustus 2016, 21:44:27 »
dankjewel voor je hulp!
Jammer genoeg wilt het niet helpen
Sun Aug 21 21:41:33 2016 INFO Executing post-process-script srt_mkv.py for TURN_ Washington___s Spies (2016) S03E07 H_264 (WEB-DL) DD5_1 1080p NLSubs -Q o Q-
Sun Aug 21 21:41:33 2016 INFO srt_mkv:   File "/usr/local/nzbget/share/nzbget/scripts/srt_mkv.py", line 36
Sun Aug 21 21:41:33 2016 INFO srt_mkv:     Â        return [ffmpeg, '-i', i, re.sub(r".mkv", ".nl.srt", i)]
Sun Aug 21 21:41:33 2016 INFO srt_mkv:     ^
Sun Aug 21 21:41:33 2016 INFO srt_mkv: SyntaxError: invalid syntax
Sun Aug 21 21:41:33 2016 ERROR Post-process-script srt_mkv.py for TURN_ Washington___s Spies (2016) S03E07 H_264 (WEB-DL) DD5_1 1080p NLSubs -Q o Q- failed (terminated with unknown status)

Syntax error lijkt me dat er iets niet klopt in haakjes, puntjes en comma's. Maar zou echt niet weten wat het in python is.
Is er geen mogelijkheid om het een script te maken in javascript hahaha
  • Mijn Synology: DS116
  • HDD's: 1x 4TB

Ben(V)

  • Gast
Re: Post proces script extract subs to srt
« Reactie #13 Gepost op: 21 augustus 2016, 21:56:19 »
Python is positie afhankelijk.
Je zult het script wel niet letterlijk overgenomen hebben,of je editor is niet geschikt daarvoor.
Zo te zien ziet hij vreemde zaken voor het echte commando.
Als je op windows werkt gebruik dan notepad++ hiervo

Offline hamkaastosti

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 12
Re: Post proces script extract subs to srt
« Reactie #14 Gepost op: 21 augustus 2016, 22:36:37 »
weer een stap verder! Blijkbaar was "vi" niet goed genoeg.
Alleen vind hij nu de mkv niet..
Sun Aug 21 22:29:16 2016 INFO Move for CHICAGO MED (2015) S01E17 H_264 (WEB-DL) DD5_1 1080p NLSubs -Q o Q- successful
Sun Aug 21 22:29:16 2016 INFO Executing post-process-script srt_mkv.py for CHICAGO MED (2015) S01E17 H_264 (WEB-DL) DD5_1 1080p NLSubs -Q o Q-
Sun Aug 21 22:29:17 2016 INFO srt_mkv: No .mkv files in current directory
Sun Aug 21 22:29:17 2016 INFO Post-process-script srt_mkv.py for CHICAGO MED (2015) S01E17 H_264 (WEB-DL) DD5_1 1080p NLSubs -Q o Q- successful

iemand die weet hoe je kan loggen waar het script zich bevind op het moment van uitvoeren. Soort van console.log(ls) hahah
Is er ook een manier om dit script te testen zonder steeds een nieuwe download af te ronden?
  • Mijn Synology: DS116
  • HDD's: 1x 4TB


 

Directory wordt gedelete na post-processing

Gestart door dudufBoard SickBeard

Reacties: 4
Gelezen: 1833
Laatste bericht 28 juli 2013, 17:22:16
door duduf
Post-process error?

Gestart door MargmotBoard CouchPotato

Reacties: 1
Gelezen: 1733
Laatste bericht 09 juni 2014, 22:16:47
door Birdy
Post Scripts werken niet

Gestart door sjors86Board NZBGet

Reacties: 2
Gelezen: 2100
Laatste bericht 09 november 2015, 10:37:57
door Zidane10
post-processing

Gestart door cyclopsBoard SABnzbd (usenet)

Reacties: 0
Gelezen: 1258
Laatste bericht 22 oktober 2008, 00:31:09
door cyclops
Post-processing werk niet meer

Gestart door dudufBoard SickBeard

Reacties: 1
Gelezen: 1216
Laatste bericht 09 november 2015, 21:46:49
door duduf