Wie kombiniere ich mkv und srt Dateien zu mp4 mit ffmpeg

0

Ich versuche ein Applescript zu bekommen, um .mkv's mit .srt's zu kombinieren, nachdem ich diese Dateien zu einem Ordner hinzugefügt habe.

Ich habe es geschafft, die automatische Konvertierung von mkv zu mp4 durchzuführen und sie zu iTunes hinzuzufügen. Das einzige, was ich nicht erreichen kann, ist das srt automatisch zu bekommen.

Ich kann dies auch im Terminal-Fenster tun, jeweils ein "mkv". Der Befehl, der für mich gut funktioniert, ist:

ffmpeg -i movie.1.mkv -sub_charenc WINDOWS-1252 -i movie.1.srt -vcodec copy -acodec copy -scodec mov_text -metadata:s:s:0 language=por movie.1.mp4

Ich habe die mkv datei mit dem gleichen namen wie die srt datei.

Das Apple-Skript, mit dem ich die Batch-Konvertierung durchführe, lautet:

on adding folder items to this_folder after receiving added_items
tell application "Finder"
    set fold_name to the name of this_folder
    try

        repeat with i from 1 to number of items in added_items
            set new_item to item i of added_items
            set the item_path to the quoted form of the POSIX path of new_item

            if name extension of new_item is "mkv" then
                do shell script " /usr/local/bin/ffmpeg -i " & item_path & " -vcodec copy -acodec libfaac " & item_path & ".mp4"

            else if name extension of new_item is "mp4" then
                tell application "iDentify"
                    activate
                    open new_item
                end tell

            end if
        end repeat
    end try
end tell end adding folder items to

Ich bin ein Neuling im Applescript, und die Sache, warum ich es nicht zum Laufen bringe, ist, dass das Script am Ende eine Datei namens movie.1.mkv.mp4 zurückgibt, die aus dem movie.1.mkv erstellt wurde . Das bedeutet, dass ich nicht in der Lage bin, in der Variablen "item_path" nur den Dateinamen ohne die Erweiterung zu bekommen. Vielleicht ist es sehr einfach, aber ich habe es nicht geschafft.

Kann jemand bitte helfen? Vielen Dank

ShadowLord75
quelle

Antworten:

0

Code von verwenden und anpassen

https://stackoverflow.com/questions/12907517/extracting-file-extensions-from-applescript-paths

Fügen Sie am Anfang Ihres Codes Folgendes hinzu:

-- overcome finder limitation...
set text item delimiters to "."

dann extrahiere später den Namen und die Erweiterungsteile ...

if new_item contains "." then set item_ext to (text item 2 of new_item) as text
if new_item contains "." then set item_name to (text items 1 thru -2 of new_item) as text

Das sollte es tun... :)

Vic
quelle