我正在尝试在安装了 ubuntu 15.04 的 Android 平板电脑上制作循环视频。有 ffmpeg 和所有 Linux 工具可用。
问题是我的空间非常有限,而 ffmpeg 使用临时文件重新编码视频,因此会占用额外空间。实际上我不需要任何重新编码,只需要缩小和连接。例如,下面的命令连接两个文件并确保保留原始文件
ffmpeg -f concat -i /tmp/join.txt -c copy out.mov
接下来剪切片段并保留原始的input.mov视频
ffmpeg -ss 00 -i input.mov -t 90 -c:v copy -c:a copy out.mov
真的有可能在不保留原始文件的情况下完成此类编辑吗?例如,在进行编辑时,同时删除已完成的部分以节省空间。
UPD。根据以下答案和我的搜索,这是不可能的。感谢您的参与。
答案1
要在每次成功执行 FFmpeg 操作后删除不需要的源文件,您可以在 FFmpeg 命令末尾添加带有双“&”符号的脚本代码。这样,如果 FFmpeg 因某种原因出错,源文件不会被删除,但您仍应要小心... 在创建剪辑时发现设置了错误的搜索或持续时间之前,没有什么比消灭源更糟糕的了。
例子
在您创建连接视频后,这将删除“join.txt”文件中列出的源视频:
ffmpeg -f concat -i /tmp/join.txt -c copy out.mov && \
for DELVIDS in `awk '{print $2}' /tmp/join.txt`; do rm -f $DELVIDS; done
创建 90 秒剪辑后,这将清除“input.mov”文件:
ffmpeg -ss 00 -i input.mov -t 90 -c:v copy -c:a copy out.mov && rm -f input.mov