首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用VLC (mac)批处理脚本对MXF视频文件进行代码转换

使用VLC (mac)批处理脚本对MXF视频文件进行代码转换
EN

Stack Overflow用户
提问于 2013-04-01 05:23:13
回答 1查看 1.8K关注 0票数 1

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

我的问题是:我是一个视频编辑,上周我的两个驱动器在我的RAID NAS崩溃。我已经能够恢复500 to的视频,但失去了索引,所以所有的文件失去了他们的参考,其中一些是损坏和错误。唯一能阅读他们的应用是VLC (多年来最好的球员)。所以它读取了我所有的文件和奇迹,它还有一个集成的转码向导,它是目前为止质量最好的向导:当我用.ts进行高比特率压缩的输出时,我没有质量损失,而且最重要的是,它在首映版CS6中读得很流畅,所以即使我的所有文件都在商店里,我还是找到了一个恢复它们的方法,并且能够在我的视频编辑程序中发送它们!

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

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

因此,我在帖子中跟踪了信息,但没有运气,我的编码实际上是s**ks。

这个帖子所承诺的对我非常有吸引力,如果我能把它变成我的,他们说,通过创建和苹果脚本应用程序,我可以把视频文件放到应用程序上,它应该打开VLC和代码.比查看向导、键入和循环所有设置并启动代码转换的x3000视频文件要好得多:S

所以理想状态(我现在的梦想!!)我想这样做或事件最好把一个文件夹放在应用程序图标上,并以新的可编辑格式在另一个文件夹中用相同的文件名输出!

所以,如果他们是熟悉苹果脚本的人,请帮帮忙,我想我快到了,这可能是我错的来源和目的地路径!救命啊!!

这里是他们给出的代码:

代码语言:javascript
复制
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给我的关于转码输出文件格式的脚本:

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

和这里是我想要做的(两者混合):

代码语言:javascript
复制
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

我很确定我还没到..。但也许我是?我是一个视频编辑,不是一个编码器,我希望能够理解更多,但请给我一点时间,我保证我会在我死前到达那里!

有人能理解我吗?告诉我我不是一个人!

和平

诺利

EN

回答 1

Stack Overflow用户

发布于 2013-04-01 16:29:19

试着把这个粘贴到终端:

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

这不会重新编码文件:

代码语言:javascript
复制
for f in *.mxf; do ffmpeg -i "$f" -c copy "${f%mxf}mkv"; done

不过,它可能无法处理损坏的文件。您可以在安装brew install ffmpeg后使用自制软件安装ffmpeg。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15738052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档