首页 > 生活服务 > 视频技巧

视频技巧

强大的视频处理ffmpeg

一碗稀饭 3年前 1907浏览

一、为什么选择ffmpeg处理gif?

1,ffmpeg可以从视频中截取gif

2,ffmpeg在缩放gif时出错的机率较低,


二、ffmpeg一些命令参数

-i 指定要转换视频的源文件

-s视频转换后视频的分辨率

-vcodec 视频转换时使用的编解码器(-codecs)

-r视频转换换的板率(默认25桢每秒)

-b视频转换换的bit率

-ab 音频转换后的bit率(默认64k)

-acodec 制定音频使用的编码器(-codecs)

-ac制定转换后音频的声道-ar 音频转换后的采样率

-an 禁用音频-vn 禁用视频

-acodec copy 复制音频,不转码-vcodec copy 复制视频,不转码

-y 覆盖输出文件,即如果outputwmv文件已经存在的话,不经提示就覆盖掉

-i"1.avi 输入文件是和fmpeg在同一目录下的1.av文件,可以自己加路径,改名字

-title"Test”在PSP中显示的影片的标题

-vcodec xvid 使用XVID编码压缩视频,不能改的

-s 368×208 输出的分辨率为368×208,注意片源一定要是16:9的不然会变形

-r 29.97 帧数,一般就用这个吧

-b 1500 视频数据流量,用-bxxx的指令则使用固定码率,数字随便改,1500以上没效果;还可以用动态码率如:-qscale 4和-qscale6,4的质量比6高

-acodec aac 音频编码用AAC

-ac2 声道数1或2

-ar 24000声音的采样频率,好像PSP只能支持24000Hz

-ab 128音频数据流量,一般选择32、64、96、128

-vol 200200%的音量,自己改

-muxvb 768 好像是给PSP机器识别的码率,一般选择384、512和768,我改成1500,PSP就说文件损坏了

-fpsp输出psp专用格式

"output.wmv” 输出文件名,也可以加路径改文件名

三、用ffmpeg的常见用法

1、avi转MP4命令

ffmpeg -i .\Video.avi -c copy -map 0 video.mp4

ffmpeg -i .\Video.avi -c:v libx264 -crf 19 -preset slow -c:a aac -b:a 192k -ac 2  video.mp4

//剪切视频

ffmpeg -ss 0:1:30 -t 0:0:50 -i 1.avi -vcodec copy -acodec copy 3.mp4    

//-r 提取图像的频率,-ss 开始时间,-t 持续时间

2、视频压缩

压缩命令:

ffmpeg -i 123_ffmpeg.mp4  (压缩的文件更大更清晰,一般情况下不用)

ffmpeg -i 123.MP4 -b:v 700k 1231_ffmpeg.mp4(压缩的更小,相对模糊一些)

3、去除视频声音

ffmpeg -i 1.avi -vcodec copy -an 2.avi 

4、视频剪辑

//截取从头开始的30s

ffmpeg -ss 00:00:00 -t 00:00:30 -i keyoutput.mp4 -vcodec copy -acodec copy split.mp4

//截取从30s到的35s

ffmpeg -i k.mp3 -ss 00:00:30 -to 00:00:35 2.mp3

 

截取5秒长度生成gif

#-ss 00:00:02: 从第二秒开始

#-t 5:   持续5秒

#-f gif: 指定文件格式为gif(因为输出文件名的后缀是gif,所以这个参数可以不添加)

ffmpeg -t 5 -ss 00:00:02  -f gif -i 8_9f6fa300bacded7b.mp4 /data/dev/think_file/html/8.gif

 

2,生成指定宽高的gif

#-v quiet:  不显示版本和处理过程等log信息

#-s 320x180: 指定生成的gif图的宽高

#-y : 文件存在时自动覆盖,不再询问

ffmpeg -v quiet -t 5 -ss 00:00:02 -i 8_9f6fa300bacded7b.mp4 -s 320x180 -y /data/dev/think_file/html/8_2.gif

 

3,生成gif时指定fps

查看原视频的fps:

ffprobe -v error -select_streams v -of default=noprint_wrappers=1:nokey=1 -show_entries stream=r_ _rate 8_9f6fa300bacded7b.mp430000/1001

原视频的fps并不高,值为30

 

# -r: 指定fps

ffmpeg -v quiet -t 5 -ss 00:00:02 -i 8_9f6fa300bacded7b.mp4 -f gif -r 15 -y /data/dev/think_file/html/8_3.gif


4,gif转mp4

ffmpeg -i 8_2.gif 8_2.mp4

 


四、web开发中的转换

web开发中涉及到视频播放的前端一般会使用h5的video标签对后端提供的视频文件url直接加载进行播放,虽然视频文件后缀都是mp4,但并非所有视频文件的编码格式都支持用video播放,目前支持的格式有以下几种:


MP4=MPEG4文件使用H264视频编解码器和AAC音频编解码器

WebM=Web文件使用VP8视频编解码器和Vorbis音频编解码器

ogg=Ogg文件使用Theora视频编解码器和Vorbis音频编解码

ffmpeg -i input.mp4 -lavfi "[0:v]scale=256/81*iw:256/81*ih,boxblur=luma_radius=min(h\,w)/40:luma_power=3:chroma_radius=min(cw\,ch)/40:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,setsar=1,crop=w=iw*81/256"  output.mp4
ffmpeg -i input.mp4 -lavfi '[0:v]scale=ih*16/9:-1,boxblur=luma_radius=min(h\,w)/20:luma_power=1:chroma_radius=min(cw\,ch)/20:chroma_power=1[bg];[bg][0:v]overlay=(W-w)/2:(H-h)/2,crop=h=iw*9/16' -vb 800K output.mp4

fmpeg -loop 1 -i background.png -i input.mkv -filter_complex "[1]scale=w=480:h=280[s];[0][s]overlay=w/2:h/2"  -shortest  -y output.mp4


说明


scale拉伸图片尺寸


-shortest视频播放结束停止转换


-y覆盖已存在



五、查看ffmpeg的版本

ffmpeg --version

 

六、ffmpeg下载

ffmpeg.rar


版权声明:本文为原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
关注微信公众号:"cq_xifan";

评论

收藏

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

Powered By 重庆饭哥 © 2014-2022 教学资源分享站 渝ICP备20005643号-1

相信有一天,理想主义终将所向披靡.

Design by © 2021 XIFAN. Powered by 重庆饭哥

站点声明: 本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

友情链接: 官方网站 饭哥在线工具 饭哥导航 在线运行 博客交流社区 重庆艺术工程职业学院