使用VLC(mac)转码MXF视频文件的批处理脚本

时间:2013-04-01 05:23:14

标签: applescript osx-mountain-lion vlc batch-processing transcode

我想今天早上我找到了令我头痛的答案,但显然我在编码方面不够聪明: http://forum.videolan.org/viewtopic.php?f=12&t=98694

我的问题如下:我是视频编辑器,上周我的RAID NAS中的两个驱动器都崩溃了。我已经能够恢复500GB的视频,但丢失了索引,所以所有文件都丢失了他们的引用,其中一些已经损坏和错误。唯一能够在他们所处的阶段阅读它们的应用程序是VLC(BTW年度最佳播放器)。 所以它读取了我的所有文件和奇迹它还有一个集成的转码向导,这是迄今为止最高质量的:当我用高比特率压缩的.ts做输出时,我没有质量损失,最重要的是它在首映CS6,所以即使我的所有文件都遍布商店,我找到了一种方法来恢复它们,并能够在我的视频编辑程序中发送它们!

仅问题VLC不进行批量转码,此问题涉及需要从原始(现已恢复但已损坏).MXF转换为Hi质量Mpeg.ts的3000个视频文件(可在Premiere Pro CS6中编辑) )。

我在这个论坛中发现:http://forum.videolan.org/viewtopic.php?f=12&t=98694 这种方法可以使用applescript droplet简化批处理的自动化。

所以我在帖子中关注了这个信息,但没有运气,我的编码确实很糟糕。

这个帖子所承诺的对我来说非常有吸引力,如果我可以做到这一点他们说通过创建和苹果脚本应用程序,我将能够将视频文件放到应用程序上它应该打开VLC并转码...更好而不是通过向导,键入和clic所有设置并启动转码x3000视频文件:S

理想情况下(我的梦想现在!!)我喜欢这样做或事件更好地删除应用程序图标上的文件夹,并以新的可编辑格式在另一个文件夹中输出相同的文件名!!

所以,如果他们是熟悉苹果脚本的人,请帮忙,我想我差不多了,这可能是我错了的源头和目的地路径!请帮忙!!

以下是他们提供的代码:

on open these_items
   try
      process_item(these_items)
   end try
end open

-- this sub-routine processes files 
on process_item(this_item)
   set full_path to the POSIX path of this_item
   do shell script "/Applications/VLC.app/Contents/MacOS/VLC" & " '" & full_path & "' --sout='#transcode{vcodec=h264,vb=800,acodec=mp4a,ab=192}:standard{access=file,mux=mp4,dst=" & full_path & ".mp4}'"
end process_item

以下是VLC提供的关于我的转码输出文件格式的脚本:

:sout=#transcode{vcodec=mp2v,vb=3072,acodec=mp4a,ab=256}:standard{mux=ts,dst=/Volumes/Untitled/EarthFreq_2013/EF2013_0132.ts,access=file}

这就是我要做的事情(混合两者):

on open these_items
    try
        process_item(these_items)
    end try
end open

-- this sub-routine processes files
on process_item(this_item)
    set full_path to the POSIX path of this_item
    do shell script "/Applications/VLC.app/Contents/MacOS/VLC" & " '" & volume/Macintosh HD/Users/GANDA/Desktop/sourcefolder & "' --sout='#transcode{vcodec=mp2v,vb=3072,acodec=mp4a,ab=256}:standard{access=file,mux=ts,dst=" & volume/Macintosh HD/Users/GANDA/Desktop/destinationfolder & ".ts}'"
end process_item

我很确定我不是那么远......但也许是Iam?我是一名视频编辑,不是编码员,我希望能够了解更多,但请留下我一点时间,我保证我会在我死之前到达那里!

任何人都理解我? 告诉我,我并不孤单!

和平

诺利

1 个答案:

答案 0 :(得分:0)

尝试将此粘贴到终端:

cd ~/Desktop/sourcefolder; for f in *.mxf; do /Applications/VLC.app/Contents/MacOS/VLC -I dummy "$f" --sout "#transcode{vcodec=mp2v,vb=3072,acodec=mp4a,ab=256}:standard{mux=ts,dst=${f%mxf}ts,access=file}" vlc://quit; done

这不会重新编码文件:

for f in *.mxf; do ffmpeg -i "$f" -c copy "${f%mxf}mkv"; done

但它可能无法与损坏的文件一起使用。安装Homebrew后,您可以使用brew install ffmpeg安装ffmpeg。