我的外置硬盘出了点小问题,我不得不恢复一些文件。
现在我有一堆视频片段,我想把它们重新拼接起来。
我可以使用 VLC 播放片段。
所以我去了这里:https://wiki.videolan.org/How_to_Merge_and_Transcode_Multiple_Videos/
并遵循指示。
合并两个具有相同编码的文件的命令行是:
vlc c:\file1.avi file2.avi
--sout "#gather:std{access=file,mux=ts,dst=all.ts}"
--sout-keep
all.ts
但是什么也没有发生;创建了一个空文件。
Directory of C:\PROGRA~1\VideoLAN\VLC
all.ts
1 File(s) 0 bytes
0 Dir(s) 108,900,364,288 bytes free
我如何让 vlc 真正创建一个包含数据的文件?
如果我使用转码选项:
vlc -vvv c:\dir24.avi\fil57.avi c:\dir24.avi\fil58.avi
--sout-keep
--sout=#gather:transcode{vcodec=h264,vb=1024,scale=1,acodec=mp4a,ab=
192,channels=6}:standard{access=file,mux=ts,dst=out.mpg}
--sout-all
我收到以下错误:
我如何让 vlc 合并这两个文件? 请注意,我不知道文件的实际编码。
答案1
我只需要自己做这件事。你未回答的问题很有帮助。以下是我所做的:
vlc c:\file1.avi file2.avi
--sout "#gather:std{access=file,dst=newFile.avi}"
--sout-keep
您链接的 VLC wiki 页面上的示例是将 .ps 多路复用到 .ts 中。我完全放弃了多路复用,因为在我的例子中不需要它。然后将其指向具有正确文件扩展名的目标 (dst=)。
答案2
您必须关闭 VLC前运行您新合并的文件!
Windows:另一种方法是使用:- copy /B filename1.avi + filename2.avi resultFile.avi