FFmpeg 常见指令集
收集整理,FFmpeg 常用指令集介绍指令用法
如果碰见截取数据时间偏移,那是由于关键帧偏移造成的。
需要更深入的知识进行理解。这里不做太复杂的介绍。
视频转换类:
源文件不会受影响
H264视频转ts视频
ffmpeg -i test.h264 -vcodec copy -f mpegts test.ts
H264视频转MP4视频
ffmpeg -i test.h264 -vcodec copy -f mp4 test.mp4
mp4视频转flv视频
ffmpeg -i test.mp4 -acodec copy -vcodec copy -f flv test.flv
ts视频转mp4视频
ffmpeg -i test.ts -acodec copy -vcodec copy -f mp4 test.mp4
压缩类:
将一段音频和视频压缩成一段新的视频文件
ffmpeg -i test.wav -i video_test.avi test.mpg
将一段视频码率压缩成400k ,尺寸为960*540 减少视频文件的大小
码率 决定了视频的清晰度,同时也是最直接决定视频文件大小的重要参数之一。
码率越高,视频越清晰。 但是码率跨过一定高度之后,在一般设备上肉眼实际已经无法区分区别了。但是会造成文件过大。
ffmpeg -i input.m4v -b:v 400k -s 960*540 output.mp4
图片截取:
在指定时间节点,截取一张图片 -ss
time ffmpeg -ss 00:02:06 -i test1.MP4 -f image2 -y test1.jpg
固定时间开始连续截图多张图片 -ss后面为毫秒数
ffmpeg -i input.mp4 -ss 4.500 -vframes 10 output%d.png
视频每秒截一张图片,保存为png图片,和每秒截取10张图
//一秒一张图
ffmpeg -i input.mp4 -vf fps=1 output%d.png
//一秒10张图
ffmpeg -i input.mp4 -vf fps=10 output%d.png
视频截取:
从第 30 秒开始,向后截取 10 秒的视频,并保存
//HH:mm:ss 写法的截取方式
ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0 output.wmv
//秒写法的截取方式
ffmpeg -i input.wmv -ss 30 -c copy -t 10 output.wmv
//截取从30秒开始 到40秒的视频片段,并存储为wmv格式
ffmpeg -i input.wmv -ss 30 -c copy -to 40 output.wmv
去除开始三分钟的片头,将剩余部分存储为新的视频
ffmpeg -ss 00:03:00 -i input.mp4 -c:v copy -c:a copy output.mp4
从开始,一直到02:35:50分钟的视频,截取为新的视频并存储。--去片尾
fmpeg -ss 00:00:00 -i 当前视频.mp4 -to 02:35:50 -c copy 新视频.mp4
FFplay视频播放:
播放 test.mp4 ,播放完成后自动退出
ffplay -autoexit test.mp4
以 320 x 240 的大小播放 test.mp4
ffplay -x 320 -y 240 test.mp4
将窗口标题设置为 "Z_player",循环播放 10 次
ffplay -window_title Z_player -loop 10 test.mp4
评论区