我正在处理我的视频(640×1280维)。我想把我的视频水平地分成两个单独的视频(每个视频现在在维度上是640×640 ),然后将它们水平组合(视频维数现在是1280×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.)这需要花费太多的时间(我知道计算需要一些时间,但也许会有一些方法/牺牲来使这个过程更快)。
提前谢谢你帮我
发布于 2021-02-01 22:27:59
将两个命令组合在一起
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所示。或者用你的玩家来做
不需要等待编码。只要让你的播放器在播放时做所有的事情。这不输出文件,但只播放重新排列的视频。使用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
https://stackoverflow.com/questions/65999795
复制相似问题