If you’re interested, here’s an OS X (Mac) AppleScript droplet source for concatenating multiple video files using existing ffmpeg executable.
How do I use it? Copy the lines containing "begin script" through "end script" to your Mac's clipboard. Paste the clipboard contents into a Script (or AppleScript, depending on your version of OS X) Edtor window, then save as an application. Name your video files successively, and drop them all onto the AppleScript application's icon. What does it do? Uses your compiled version of the ffmpeg executable to concatenate the files in ascending order, creating the resulting file in the same location as the files you dropped. The ffmpeg executable should be compiled using Homebrew <http://brew.sh/> and/or be accessible by your command line shell at /usr/local/bin/ffmpeg. You should be able to change that specification in the AppleScript if you keep ffmpeg somewhere else. I’ve tested with .m4v files containing 5.1 audio. Please help me test others. Thanks. -----begin script----- property temppath : "/private/tmp/" property startnum : 0 property tmpfile : "/tmp/execme.command" on open the_items my build_archive(the_items) end open on build_archive(the_items) set theshellscript to "" repeat with i from 1 to (count of the_items) set itemcount to (count of the_items) set the_item to item i of the_items as alias try tell application "Finder" set sost to (container of the_item) as string end tell set pos_filepath to POSIX path of sost end try set this_filepath to (the_item as string) if last character of this_filepath is ":" then tell me to set it_is_a_folder to true else set it_is_a_folder to false end if set thesourcename to (name of (info for the_item)) set namepart to (name extension of (info for the_item)) set the_source_file to POSIX path of this_filepath --set newname to replace_chars(thesourcename, namepart, "joined.mp4") set finalname to replace_chars(thesourcename, "." & namepart, "") try if i = 1 then set the filelistbody to "# comment" & return & "file" & space & (quoted form of the_source_file) & return else set the filelistbody to filelistbody & "file" & space & (quoted form of the_source_file) & return end if on error onerr activate display dialog onerr end try end repeat set fileData to "echo" & space & "\"" & filelistbody & "\"" & space & "> ffmpegCatList.txt" set theshellscript to fileData & ";sleep 3;/usr/local/bin/ffmpeg -f concat -i ffmpegCatList.txt -c copy" & space set shellExec to space & (quoted form of (pos_filepath & finalname & "_1-" & i & "." & namepart)) set theshellscript to the theshellscript & shellExec & ";sleep 3" & return set theshellscript to theshellscript & ";/bin/echo ' ========================== " & finalname & "_1-" & i & "." & namepart & space & "FINISHED!" & " ========================== ';mv" & space & (quoted form of tmpfile) & space & (quoted form of (POSIX path of (path to trash))) & ";mv ffmpegCatList.txt" & space & (quoted form of (POSIX path of (path to trash))) do shell script "echo " & quoted form of theshellscript & " > " & tmpfile repeat try do shell script "chmod " & tmpfile do shell script "open -a Terminal.app" & space & tmpfile exit repeat on error delay 1 end try end repeat end build_archive on replace_chars(this_text, _bad, _good) set AppleScript's text item delimiters to the _bad set the item_list to every text item of this_text set AppleScript's text item delimiters to the _good as string set this_text to the item_list as string set AppleScript's text item delimiters to "" return this_text end replace_chars on run --set the_items to ((choose folder) as list) build_archive(the_items) end run -----end script-----
_______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user