我可以仅使用标准 unix 命令将 avi 文件拆分为 2 个有效(可观看)文件吗?

Ste*_*ane 4 command-line split avi

我有一个很大的电影文件,我想将它分成 2 个文件。我该怎么做?

slm*_*slm 9

您可以使用ffmpeg. 此方法假设您知道视频的长度并希望在特定时间点手动拆分它。您可以使用ffmpeg来获得这样的持续时间。

例子

$ ffmpeg -i me.avi |& grep Dura
  Duration: 00:01:43.27, start: 0.000000, bitrate: 16330 kb/s
Run Code Online (Sandbox Code Playgroud)

因此,假设我们要将其拆分为 1:00.00 和 43.27,我们可以执行以下 2 个命令来执行此操作:

# e.g. from start to 1 min.
$ ./ffmpeg -i me.avi -vcodec copy -acodec copy -t 00:01:00 output1.avi
# e.g. from 1 min. to end
$ ./ffmpeg -i me.avi -vcodec copy -acodec copy -ss 00:01:00 output2.avi
Run Code Online (Sandbox Code Playgroud)

之后我们得到以下结果:

$ ls -l me.avi output*
-rw-rw-r-- 1 saml saml 210816000 Nov 27 21:36 me.avi
-rw-rw-r-- 1 saml saml 120361978 Nov 27 21:39 output1.avi
-rw-rw-r-- 1 saml saml  90571034 Nov 27 21:40 output2.avi
Run Code Online (Sandbox Code Playgroud)

现在的持续时间是:

$ ./ffmpeg -i output1.avi |& grep Dura
  Duration: 00:01:00.00, start: 0.000000, bitrate: 16048 kb/s
$ ./ffmpeg -i output2.avi |& grep Dura
  Duration: 00:00:43.27, start: 0.000000, bitrate: 16743 kb/s
Run Code Online (Sandbox Code Playgroud)

参考