apicloud-ffmpeg视频合成命令

ffmpeg -i 52_20170807110642.mp4 -i 180_20170807110642.mp4 -loglevel fatal -filter_complex "[0:v][1:v]hstack=inputs=2[v]; [0:a][1:a]amerge[a]" -map "[v]" -map "[a]" -ac 2 result.mp4

ffmpeg -i 180_20170807110642.tmp -vcodec copy -an 180_video.mp4
ffmpeg -i 180_20170807110642.mp4 -acodec copy -vn 180_audio.mp3

分流音频
ffmpeg -i 52_20170807110642.tmp -vn -y -acodec copy 52_audio.mp4

分流视频
ffmpeg -i 180_20170807110642.tmp -vcodec copy -an 180_video.mp4

合成音视频:
ffmpeg -i 14715_20170807105948.mp4 -i 180_20170807105948.mp4 -i 230310_20170807105948.mp4 -i 544569_20170807105959.mp4 -filter_complex "[0:v][1:v]hstack[top]; [2:v][3:v]hstack[bottom]; [top][bottom]vstack[v]; [0:a][1:a][2:a][3:a]amerge=inputs=4[a]" -map "[v]" -map "[a]" -ac 2 output

合成音频:
ffmpeg -i 14715_20170807111408.mp4 -i 180_audio.mp3 -acodec copy audio.mp3
ffmpeg -i 14715_20170807111408.mp4 -i 180_audio.mp3 -i 52_audio.mp4 -filter_complex amix=inputs=3:duration=first:dropout_transition=2 -f mp3 audio.mp3

1. 先全部转码为mp4,遍历文件,把各个目录的信息写入本地目录,如a.mp4 av, b.mp4 a, c.mp4 v; 同时把哪些文件被合成等信息写入该文件。
2. 遍历目录,如果任何文件只有audio没有video,则全部转为音频,注意如果文件没有video,则不合并,最多合并9个
3. 遍历目录,去掉只有video没有audio的文件,对av都进行合并,最多4个,超过4个的目录转为音频

ffmpeg -i /videodata/20170807/A6056102836813_73_110047/14715_20170807110047.tmp -loglevel fatal -s 320*240 -threads 2 -c:v libx264 -c:a copy -f mp4 /videodata/20170807/A6056102836813_73_110047/14715_20170807110047.arf

posted @ 2018-06-27 13:38  南非波波  阅读(411)  评论(0编辑  收藏  举报