背景:15 年前,我用 Ulead 视频编辑软件制作了一张 DVD。不幸的是,我丢失了原始素材文件,所以现在我想从视频中提取一些片段,我必须从 vob 文件中提取。
使用 VLC 媒体播放器时,我发现时间戳即使在单个 vob 中也会随机来回跳跃。尝试使用 FFMPEG 进行提取实际上不起作用:创建了一个可播放的文件,但我无法正确控制将原始 vob 文件的哪些部分放入输出文件中。我猜这可能是因为时间戳错误。因此...
问题是:有没有办法重新混合/清理 vobs 或者以其他方式创建没有时间戳问题的文件?
顺便说一句,尝试从一个文件中取出 60 秒并与另一个文件中的 60 秒合并,我使用“FFMPEG -f concat -i list.txt ...”,其中 list.txt 如下所示:
file Vts_01_3.vob
inpoint 212.0
outpoint 272.0
file Vts_01_4.vob
inpoint 0.0
outpoint 60.0
有人有什么想法吗?
答案1
由于我没有得到有关 FFMPEG 解决方案的建议,因此搜索了其他方法,最终找到了一个:AviDemux 可以完成这项工作!
AviDemux 根本没有抱怨时间戳 - 似乎 AviDemux 只是读取/播放 vob 文件,假设每个文件都是连续的剪辑。AviDemux 甚至建议加载关联的 vob 文件(从名称来看)似乎与尝试打开的文件相关;并且它有效。
选择要导出的剪辑的开始和停止非常直观,为了避免视频转码,我只需在视频输出中选择“复制”选项。输出容器也可以从许多不同的选项中选择。对于我的目的,“Mpeg TS Muxer (ff)”起作用了。然后通过文件菜单中的“保存”执行标记剪辑的专家。
我猜“Handbrake”也可能是一个解决方案,但我没有进一步调查。