Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 使用FFmpeg将视频分割为等长的片段_Bash_Video_Split_Ffmpeg - Fatal编程技术网

Bash 使用FFmpeg将视频分割为等长的片段

Bash 使用FFmpeg将视频分割为等长的片段,bash,video,split,ffmpeg,Bash,Video,Split,Ffmpeg,我需要将许多长度未知的视频分割成2分钟的片段。我可以使用来自的公认答案来实现这一点,但这需要复制、粘贴和修改许多行,并手动计算每个视频中有多少2分钟的部分(对于一些视频来说没什么大不了的,但过一段时间就会变得非常乏味) 我以前使用过代码,我所要做的就是指定输入视频、开始时间、片段长度和输出名称,并将其运行在与输入视频位于同一文件夹中的.sh文件中,生成所有必要的单独视频,标记为“output\u video01”、“output\u video02”等,不知怎的,它不想在我的新电脑上工作。其他声

我需要将许多长度未知的视频分割成2分钟的片段。我可以使用来自的公认答案来实现这一点,但这需要复制、粘贴和修改许多行,并手动计算每个视频中有多少2分钟的部分(对于一些视频来说没什么大不了的,但过一段时间就会变得非常乏味)

我以前使用过代码,我所要做的就是指定输入视频、开始时间、片段长度和输出名称,并将其运行在与输入视频位于同一文件夹中的.sh文件中,生成所有必要的单独视频,标记为“output\u video01”、“output\u video02”等,不知怎的,它不想在我的新电脑上工作。其他声称能够做到这一点的答案也不适用于我(当作为.bat或.sh文件运行时)。我相信我以前使用的代码是:

ffmpeg -i "input_video.MTS" -ss 164 -f segment -segment_time 120 -vcodec copy -reset_timestamps 1 -map 0:0 -an output_video%d.MTS
另一个对我不起作用但显然对其他人起作用的建议(参见):

我目前使用的是带有周年更新版本的Windows 10,我在其中启用了Bash,但由于某些原因,它不想工作。我甚至看不到它给我带来的错误,因为窗口关闭得太突然了。

原始代码(对我不起作用)是:

最终为我工作的代码:

ffmpeg -i input_video.MTS -c copy -map 0 -segment_time 8 -f segment output_video%%03d.MTS
“%”必须是“%%”。另外,它在.bat文件(不是.sh)中工作。

原始代码(对我来说不适用)是:

最终为我工作的代码:

ffmpeg -i input_video.MTS -c copy -map 0 -segment_time 8 -f segment output_video%%03d.MTS

“%”必须是“%%”。而且,它在.bat文件(不是.sh)中工作。

不知何故,它不想在我的新电脑上工作。-->如果不提供详细信息,则无法进行故障排除。@Mulvya以前使用Windows 7,64位,现在使用Windows 10,64位。所谓详细信息,我指的是命令输出和消息。@Mulvya我无法使脚本暂停足够长的时间以查看特定的错误消息。我试过了,但没有用:read-p“按[Enter]键开始备份…”您的ffmpeg命令行不是特定于bash的,请尝试将它们输入任何命令终端-除了%符号,可能需要特殊处理,因为它用于windows上的变量。。。然后,您可能至少会收到任何错误消息,这些消息肯定会帮助(我们帮助)您,但它不想在我的新计算机上工作。-->如果不提供详细信息,则无法进行故障排除。@Mulvya以前使用Windows 7,64位,现在使用Windows 10,64位。所谓详细信息,我指的是命令输出和消息。@Mulvya我无法使脚本暂停足够长的时间以查看特定的错误消息。我试过了,但没有用:read-p“按[Enter]键开始备份…”您的ffmpeg命令行不是特定于bash的,请尝试将它们输入任何命令终端-除了%符号,可能需要特殊处理,因为它用于windows上的变量。。。然后,您可能至少会收到任何错误消息,这将最终帮助(我们帮助)您%是windows中的保留字符,因此,无论何时您需要在shell命令中使用它,您都需要在unix中将其替换为%%,而不必在windows中将其替换为保留字符,因此,无论何时需要在shell命令中使用它,都不需要在unix中对其进行scape%%
ffmpeg -i input_video.MTS -c copy -map 0 -segment_time 8 -f segment output_video%%03d.MTS