使用命令行合并视频

使用命令行合并视频

我的外置硬盘出了点小问题,我不得不恢复一些文件。
现在我有一堆视频片段,我想把它们重新拼接起来。

我可以使用 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

相关内容