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")
Ok keine Antwort ist auch eine Antwort.
So wie Avidemux dokumentiert ist, ist eine Stapelverarbeitung nicht möglich.
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")
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.
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.
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
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.
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!