微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 ffmpeg 水平分割我的视频没有任何其他副作用?

如何解决如何使用 ffmpeg 水平分割我的视频没有任何其他副作用?

我正在处理我的视频(640 X 1280 尺寸)。我想将我的视频水平分成 2 个单独的视频(每个视频的尺寸现在为 640 X 640),然后将它们水平组合(视频尺寸现在为 1280 X 640)在一个视频中。我在网上做了研究,我的问题同时解决了,但没有同时解决

我制作了一个批处理文件并在其中添加了这些命令:-

ffmpeg -i input.mp4 -filter_complex "[0]crop=iw:ih/2:0:0[top];[0]crop=iw:ih/2:0:oh[bottom]" -map "[top]" top.mp4 -map "[bottom]" bottom.mp4
ffmpeg -i top.mp4 -i bottom.mp4 -filter_complex hstack output.mp4

是的,我的任务解决了,但也出现了许多其他问题:-

1.) 我的输出视频中没有音频。不知道为什么最后结果没有音频

2.) 我的主要视频文件(我正在执行所有这些操作)大小为 258 MB。但结果只有 38 MB 大小。不知道发生了什么?更糟糕的是,我仔细查看了视频,结果非常相似(与输入文件相比,只有输出文件中的动画不如输入文件流畅)

3.) 花费太多时间(我知道计算需要一些时间,但也许有一些方法/牺牲可以使过程更快)

预先感谢您帮助我

解决方法

结合你的两个命令

ffmpeg -i input.mp4 -filter_complex "[0]crop=iw:ih/2:0:0[top];[0]crop=iw:ih/2:0:oh[bottom];[top][bottom]hstack" -preset fast -c:a copy output.mp4
  • 如果您需要更快地编码,请使用更快的 -preset,如 FFmpeg Wiki: H.264 所示。

  • x264 是比手机更好的编码器,因此文件更小也就不足为奇了。

或者用你的播放器来做

无需等待编码。只需让您的播放器在播放时执行所有操作即可。这不会输出文件,而只会播放重新排列的视频。使用 mpv 的示例:

 mpv --lavfi-complex="[vid1]split[v0][v1];[v0]crop=iw:ih/2:0:0[c0];[v1]crop=iw:ih/2:0:oh[c1];[c0][c1]hstack[vo]" input.mp4

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。