1

我以为今天早上我找到了解决我头疼的问题,但显然我在编码方面不够聪明:http: //forum.videolan.org/viewtopic.php? f=12&t=98694

我的问题如下:我是一名视频编辑器,上周我的 RAID NAS 中的两个驱动器都崩溃了。我已经能够恢复 500GB 的视频,但丢失了索引,因此所有文件都丢失了它们的引用,其中一些文件已损坏且存在错误。无论他们处于哪个阶段,唯一能够阅读他们的应用程序是 VLC(顺便说一句,多年来最好的播放器)。所以它会读取我的所有文件,奇迹般的是它还具有一个集成的转码向导,这是迄今为止质量最高的向导:当我以高比特率压缩的 .ts 格式输出时,我没有质量损失,最重要的是它在首映 CS6,所以即使我所有的文件都在商店里,我在某个地方找到了恢复它们的方法,并且能够将它们发送到我的视频编辑程序中!

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

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

所以我遵循了帖子中的信息,但没有运气,我的编码真的很糟糕。

如果我能把它变成我的,这个线程的承诺对我来说非常有吸引力,他们说通过创建和苹果脚本应用程序,我可以将视频文件放到应用程序上,它应该打开 VLC 并转码......比通过向导,键入并单击所有设置并启动转码 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

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

有人懂我吗??告诉我我并不孤单!

和平

诺利

4

1 回答 1

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

但它可能不适用于损坏的文件。您可以在安装Homebrewbrew install ffmpeg后安装 ffmpeg 。

于 2013-04-01T16:29:19.317 回答