FFmpeg 常用指令集合

不精确裁剪视频

# -ss 指定从什么时间开始
# -t 指定需要截取多长时间
# -i 指定输入文件
ffmpeg -ss 00:00:00 -t 00:00:30 -i test.mp4 -vcodec copy -acodec copy output.mp4

  

精确时间裁剪视频

#1. 全部帧都转换为关键帧, 将所有的帧的编码方式转为帧内编码

#旧版本
ffmpeg -i output.mp4 -sameq -intra keyoutput.mp4 #新版本
ffmpeg -i output.mp4 -strict -2 -qscale 0 -intra keyoutput.mp4 #2. 再开始裁剪视频
ffmpeg -ss 00:00:00 -t 00:00:30 -i test.mp4 -vcodec copy -acodec copy output.mp4

  

合并视频

//截取从头开始的30s
ffmpeg -ss 00:00:00 -t 00:00:30 -i keyoutput.mp4 -vcodec copy -acodec copy split.mp4
//截取从30s开始的30s
ffmpeg -ss 00:00:30 -t 00:00:30 -i keyoutput.mp4 -vcodec copy -acodec copy split1.mp4
//进行视频的合并
ffmpeg -f concat -i list.txt -c copy concat.mp4 ..... #list.txt
file ./split.mp4
file ./split1.mp4

  

往流媒体服务器推流

#有打印
ffmpeg -re -i 1.mp4 -vcodec libx264 -acodec aac -f flv rtmp://ip:port/rtmplive/home ffmpeg -re -stream_loop -1 -loglevel quiet -i 1.flv -vcodec copy -f flv rtmp://ip:port/live/test

  

上一篇:(转)TCP协议与UDP协议的区别


下一篇:Mybatis中 collection 和 association 的区别?