Avidemux Forum

Non-English => Avidemux-German => Topic started by: elmex on November 16, 2017, 11:25:28 PM

Title: Exception :error: tokenize
Post by: elmex on November 16, 2017, 11:25:28 PM
Ich habe den Batch Script nach der "Anleitung" geschrieben, bekomme aber als Fehlermeldung "Exception :error: tokenize" und zwar für den ersten Befehl der nach raise kommt.

Wird der adm Teil zwischen raise und print auskommentiert wird das Video in Avidemux geladen.

#
# Load all the files in c:\tmp with .mp4 extension.
# That's it.
#
ext="m4v"
inputFolder="C:\Verzeichnis"

def convert(filein):   
    if(0 == adm.loadVideo(filein)):
        ui.displayError("oops","cannot load "+filein)
        raise
   # adm.loadVideo(filein)
   # adm.videoCodec("Copy")
   # adm.audioClearTracks()
   # adm.setSourceTrackLanguage(0,"unknown")
   # adm.audioAddTrack(0)
   # adm.audioCodec(0, "copy");
   # adm.audioSetDrc(0, 0)
   # adm.audioSetShift(0, 0,0)
   # adm.setContainer("MP4", "muxerType=0", "useAlternateMp3Tag=True")
   # adm.save(filein+".converted.mp4") # save the file    
    print("Done")
 

#
# Main
#
ui=Gui()
adm=Avidemux()
#

list=get_folder_content(inputFolder,ext)

if(list is None):
    raise
for i in list:
        convert(i)
print("Done")
Title: Re: Exception :error: tokenize
Post by: elmex on November 19, 2017, 12:09:28 AM
Ok keine Antwort ist auch eine Antwort.

So wie Avidemux dokumentiert ist, ist eine Stapelverarbeitung nicht möglich.
Title: Re: Exception :error: tokenize
Post by: eumagga0x2a on November 22, 2017, 07:20:23 AM
Die Dokumentation stammt größtenteils aus der Zeit von Avidemux 2.5 und ist völlig veraltet, aber in diesem Fall WFM. Das zweite adm.loadVideo(filein) ist überflüssig, Videos werden bereits in der Bedingung geladen.


ext="m4v"
inputFolder="/Users/eumagga/pytest"

def convert(filein):
    if(0 == adm.loadVideo(filein)):
        ui.displayError("oops","cannot load "+filein)
        raise
    adm.videoCodec("Copy")
    adm.audioClearTracks()
    adm.setSourceTrackLanguage(0,"unknown")
    adm.audioAddTrack(0)
    adm.audioCodec(0, "copy");
    adm.audioSetDrc(0, 0)
    adm.audioSetShift(0, 0,0)
    adm.setContainer("MP4", "muxerType=0", "useAlternateMp3Tag=True")
    adm.save(filein+".converted.mp4") # save the file
    print("Done")

#
# Main
#
ui=Gui()
adm=Avidemux()
#

list=get_folder_content(inputFolder,ext)

if(list is None):
    raise
for i in list:
        convert(i)
print("Done")
Title: Re: Exception :error: tokenize
Post by: elmex on November 23, 2017, 09:45:09 PM
Quote from: eumagga0x2a on November 22, 2017, 07:20:23 AM
Die Dokumentation stammt größtenteils aus der Zeit von Avidemux 2.5 und ist völlig veraltet, aber in diesem Fall WFM.
Die tinypy müsste es erst mit Avidemux 2.6 geben. Die Youtube "Anleitung" stammt  https://www.youtube.com/watch?v=pxMeIU-ghXY (https://www.youtube.com/watch?v=pxMeIU-ghXY) vom 20.06.2016. Also noch recht aktuell. Bei mir funktioniert es weder mit Avidemux 2.6.14 noch mit 2.7.0. Muss zusätzlich zu Avidemux noch etwas installiert werden?

WMF musste ich erstmal googeln. Was für die funktioniert würde gerne wissen. Avidemux an sich oder schon der Batch Prozess.

Quote from: eumagga0x2a on November 22, 2017, 07:20:23 AMDas zweite adm.loadVideo(filein) ist überflüssig, Videos werden bereits in der Bedingung geladen.
Das weiß ich auch! Ich hab da alles rein geschmissen und rausgelassen die Fehlermeldung ist immer in der ersten Zeile nach raise.
Title: Re: Exception :error: tokenize
Post by: eumagga0x2a on November 23, 2017, 10:43:41 PM
Quote from: elmex on November 23, 2017, 09:45:09 PM
Muss zusätzlich zu Avidemux noch etwas installiert werden?

Nein.

QuoteWMF musste ich erstmal googeln. Was für die funktioniert würde gerne wissen. Avidemux an sich oder schon der Batch Prozess.

Avidemux und das von mir gepostete Skript. Es lädt videos aus ~/pytest (es ist ein Mac) und speichert mittels des MP4 muxers mit dem Zusatz ".converted.mp4" im selben Verzeichnis.
Title: Re: Exception :error: tokenize
Post by: elmex on November 24, 2017, 09:12:33 AM
Ich hab eine Lösung für mich gefunden. Ich benutze eine Batch Datei und ein Script.

Batch Datei
Quoteset avidemux="C:\Program Files\Avidemux 2.7 - 64 bits\avidemux.exe"
for %%f in (*.m4v) do %avidemux% --load "%%f" --run "C:\Folder\Copy.py" --save "%%~nf.mp4" --quit

tinypy Datei
Quoteadm = Avidemux()
adm.videoCodec("Copy")
adm.audioClearTracks()
adm.setSourceTrackLanguage(0,"unknown")
adm.audioAddTrack(0)
adm.audioCodec(0, "LavAAC", "bitrate=64");
adm.audioSetDrc(0, 0)
adm.audioSetShift(0, 0,0)
adm.setContainer("MP4", "muxerType=0", "useAlternateMp3Tag=True")



Quote from: eumagga0x2a
Avidemux und das von mir gepostete Skript. Es lädt videos aus ~/pytest (es ist ein Mac) und speichert mittels des MP4 muxers mit dem Zusatz ".converted.mp4" im selben Verzeichnis.
Wie gesagt, das Script funktioniert nicht in Windows 10 und mit avidemux 2.7.0
Title: Re: Exception :error: tokenize
Post by: eumagga0x2a on November 24, 2017, 05:08:59 PM
Als Ordnertrenner im tinypy-Skript muss auch unter Windows der Schrägstrich "/" verwendet werden. Mit dieser Ergänzung funktioniert das Skript unter Windows (getestet unter Windows 7) einwandfrei, kein Bedarf für Batch.
Title: Re: Exception :error: tokenize
Post by: jofi on April 04, 2020, 05:59:39 PM
Quote from: elmex on November 16, 2017, 11:25:28 PM
Ich habe den Batch Script nach der "Anleitung" geschrieben, bekomme aber als Fehlermeldung "Exception :error: tokenize" und zwar für den ersten Befehl der nach raise kommt.
Wird der adm Teil zwischen raise und print auskommentiert wird das Video in Avidemux geladen.

Ich hatte der selbe Fehler, auch wo ich der adm Teil eingefügt hatte.
(Entshuldigung, weiter auf English, zu schwierig auf Deutsch)
It comes from a mix between tabs and spaces in indenting the lines:
- the lines coming from the skeleton have spaces
- I added tabulations in the adm part (1 tab = 4 spaces, the same lenght, so invisible
Replacing all tabs by 4 spaces, and it works!