其他文章收藏
ffmpeg 转换图片格式
ffmpeg -i test.jpg -s 640x480 -pix_fmt yuv420p test.yuv
这样输出的yuv文件就会出现在bin文件夹下面。
-pix_fmt yuv420p需要添加上,如果不添加的话,往往转码结果为yuv444格式,不是一般读者所需要的。
采用ffplay 查看YUV数据包括视频或者图片
ffplay [-f rawvideo] -video_size 640x480 test.yuv
注:
(1)-f rawvideo : 经笔者测试这个选项可加可不加。
(2)yuv文件不包涵宽高数据所以必须用-video_size指定宽和高,格式为:widthxheight
(3)test.yuv可以是一帧(图片)或者多帧(视频)数据
ffmpeg将音频和视频合并
ffmpeg -an -i video.mp4 -vn -i audio.mp4 -c:v copy -c:a copy -y out.mp4
# 参数解释:
-an ---- audio disable
-vn ---- video disable
-c:v copy ---- 视频编码:直接复制原视频,不用重新编码,速度快
-c:a copy ---- 视频编码:直接复制原音频,不用重新编码,速度快
-y ---- overwrite output files
ffmpge截取/裁剪视频(如果从视频最开始截取,直接省略-ss参数)
# 从第3秒开始,到第8秒结束。不改变音视频的编码(直接复制/节约时间)
# 该命令使用-to 参数标注结束时间是00:08
ffmpeg -i inputVideo.mp4 -ss 00:03 -to 00:08 -c:v copy -c:a copy out.mp4
# 该命令使用-t 参数标注输出视频持续时间是00:05。 效果和上面的命令相同
ffmpeg -i inputVideo.mp4 -ss 00:03 -t 00:05 -c:v copy -c:a copy out.mp4
# 参数说明
-ss time_off set the start time offset
-t duration record or transcode "duration" seconds of audio/video
-to time_stop record or transcode stop time
ffmpeg 视频倍速/慢速播放
参考文章:
ffmpeg 视频倍速播放 和 慢速播放
视频倍速/慢速原理
实现原理,通过使用 av filter 中的 setpts 改变每一个 PTS(PTS:presentation time stamp 显示时间戳)来实现。
视频慢速X0.5倍,-vf “setpts=PTS/0.5”
ffmpeg -i input.mkv -vf "setpts=PTS/0.5" output.mkv
视频倍速X4倍,-vf “setpts=PTS/4”
ffmpeg -i input.mkv -vf "setpts=PTS/4" output.mkv
如果想设置帧率(主要用于倍速的时候),例如,我想倍速X10,输出帧率30帧,就用-r参数设置帧率
ffmpeg -i input.mkv -r 30 -vf "setpts=PTS/10" output.mkv
音频倍速/慢速原理
"atempo"滤镜对音频速度调整范围[0.5 - 100],超过会报下列错误,例如我是的0.4,错误信息如下
Value 0.400000 for parameter 'tempo' out of range [0.5 - 100]
倍速X4
ffmpeg -i input.mp3 -af "atempo=4" output.mp3
倍速X0.8
ffmpeg -i input.mp3 -af "atempo=0.8" output.mp3
倍速X0.4(多个滤波器叠加)
ffmpeg -i input.mp3 -af "atempo=0.5,atempo=0.8" output.mp3
音视频一起倍速
倍速X4
ffmpeg -i input.mp4 -vf "setpts=PTS/4" -af "atempo=4" output.mp4
# 也可以使用-filter_complex
ffmpeg.exe -i .\dogfight.mp4 -filter_complex "[0:v]setpts=0.25*PTS[v];[0:a]atempo=4.0[a]" -map "[v]" -map "[a]" X4_dogfight.mp4
还支持添加参数来用硬件加速
参考链接:
ffmpeg 调用 NVIDIA GPU 处理视频转码,笔记。和纯用CPU比起来,速度快5倍以上
ffmpeg.exe -hwaccel cuda -i .\dogfight.mp4 -c:v h264_nvenc -r 30 -filter_complex "[0:v]setpts=0.1*PTS[v];[0:a]atempo=10.0[a]" -map "[v]" -map "[a]" X10_dogfight.mp4
本文详细介绍FFmpeg的多种实用操作,包括视频格式转换、图片格式转换、音视频合并、视频截取、视频播放速度调整等。深入解析FFmpeg指令参数,如视频编码、音频编码、时间戳调整等,帮助读者掌握FFmpeg核心功能。
1076

被折叠的 条评论
为什么被折叠?



