Author Topic: Exception :error: tokenize  (Read 242 times)

elmex

  • Newbie
  • *
  • Posts: 6
Exception :error: tokenize
« 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")
« Last Edit: November 16, 2017, 11:29:15 PM by elmex »

elmex

  • Newbie
  • *
  • Posts: 6
Re: Exception :error: tokenize
« Reply #1 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.

eumagga0x2a

  • Hero Member
  • *****
  • Posts: 1535
Re: Exception :error: tokenize
« Reply #2 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.

Code: [Select]
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")

elmex

  • Newbie
  • *
  • Posts: 6
Re: Exception :error: tokenize
« Reply #3 on: November 23, 2017, 09:45:09 PM »
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 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.

Das 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.

eumagga0x2a

  • Hero Member
  • *****
  • Posts: 1535
Re: Exception :error: tokenize
« Reply #4 on: November 23, 2017, 10:43:41 PM »
Muss zusätzlich zu Avidemux noch etwas installiert werden?

Nein.

Quote
WMF 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.

elmex

  • Newbie
  • *
  • Posts: 6
Re: Exception :error: tokenize
« Reply #5 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
Quote
set 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
Quote
adm = 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

eumagga0x2a

  • Hero Member
  • *****
  • Posts: 1535
Re: Exception :error: tokenize
« Reply #6 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.