ffmpeg视频滤镜:组合两个视频为立体视频- framepack

时间:2024-11-09 08:41:00

视频描述

framepack

官方网址 => FFmpeg Filters Documentation

这个滤镜会将两个视频进行组合,有个前提是这两个视频的帧率、分别率必须一样。比如输入的是两个852x480 视频,输出可能是1704*480(左右拼接)、852*960(上下拼接)、852x480(交错拼接)。

滤镜使用

参数
  format            <int>        ..FV....... Frame pack output format (from 0 to INT_MAX) (default sbs)
     sbs             1            ..FV....... Views are packed next to each other
     tab             2            ..FV....... Views are packed on top of each other
     frameseq        3            ..FV....... Views are one after the other
     lines           6            ..FV....... Views are interleaved by lines
     columns         7            ..FV....... Views are interleaved by columns

这个滤镜就一个参数,就是组合方式。sbs是左右拼接、tab是上下拼接。lines和columns分别是上下拼接和左右拼接,只不过会添加白色的横线或者竖线,frameseq是交错拼接。 具体可以看下面的效果。

音频会使用第一个输入的音频。

案例

我得两个视频输入都是25fps的,大小已经是一样的了。

ffmpeg -y -i ffm_media/short_dancer.mp4 -i ffm_media/gee_short.mp4 -filter_complex "framepack" result/framepack/framepack_test_default.mp4

默认就是左右拼接

ffmpeg -y -i ffm_media/short_dancer.mp4 -i ffm_media/gee_short.mp4 -filter_complex "framepack=format=tab" result/framepack/framepack_test_001.mp4

上下拼接

 

ffmpeg -y -i ffm_media/short_dancer.mp4 -i ffm_media/tara_short.mp4 -filter_complex "framepack=format=lines" result/framepack/framepack_test_002.mp4

lines方式的拼接

ffmpeg -y -i ffm_media/short_dancer.mp4 -i ffm_media/tara_short.mp4 -filter_complex "framepack=format=columns" result/framepack/framepack_test_003.mp4

 columns方式的拼接

 

ffmpeg -y -i ffm_media/short_dancer.mp4 -i ffm_media/tara_short.mp4 -filter_complex "framepack=format=frameseq" result/framepack/framepack_test_004.mp4

frameseq交错拼接

 

我这里上传的是gif,原视频会比这个变化的快很多,比较闪眼睛。

## 祝你好运
 
hope("大神多多指点")
topic("有问题可以交流呀")
concat("球球QUN", "61480", "9646")
include("电", "-","子", "=", "书")