如何使用 ffmpeg 水平分割我的视频(没有任何其他副作用)?
How to divide my video horizontally using ffmpeg (without any other side-effects)?
我正在处理我的视频(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.) 花费太多时间(我知道计算需要一些时间,但也许有一些 way/sacrifice 可以使过程更快)
在此先感谢您对我的帮助
合并你的两个命令
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 是比您的 phone 更好的编码器,因此文件较小也就不足为奇了。
或者用你的播放器来做
无需等待编码。只需让您的播放器在播放时执行所有操作即可。这不会输出文件,而只会播放重新排列的视频。使用 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
我正在处理我的视频(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.) 花费太多时间(我知道计算需要一些时间,但也许有一些 way/sacrifice 可以使过程更快)
在此先感谢您对我的帮助
合并你的两个命令
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 是比您的 phone 更好的编码器,因此文件较小也就不足为奇了。
或者用你的播放器来做
无需等待编码。只需让您的播放器在播放时执行所有操作即可。这不会输出文件,而只会播放重新排列的视频。使用 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