Dragon
VPS云服务器分享VPS云服务器分享  2022-09-20 20:26 三条八主机 隐藏边栏 |   抢沙发  4,748 
文章评分 1 次,平均分 5.0

什么是FFmpeg

FFmpeg 是一个开放源代码的自由软件,可以运行音频和视频多种格式的录影、转换、流功能,包含了libavcodec——这是一个用于多个项目中音频和视频的解码器库,以及libavformat——一个音频与视频格式转换库。 “FFmpeg”这个单词中的“FF”指的是“Fast Forward”。

FFmpeg的安装地址

本文只单独介绍如何在WindowsmacOS下安装FFmpeg,暂不讨论在Linux下的情况。
FFmpeg的官网为https://ffmpeg.org/download.html

ffmpeg剪切视频方法

FFmpeg的常用命令使用

FFmpeg拼接图片

# 10张图片横向合并
ffmpeg -y -i e:\img\%02d.webp -filter_complex tile=10x1 e:\img\new.jpg

FFmpeg截取图片


# 截取第15帧的图片
ffmpeg -y -i e:\video\video.mp4 -vframes 15 -f image2 e:\img\video.png
# 截取第1分50秒的图片
ffmpeg -y -i e:\video\video.mp4 -vframes 1 -q:v 2 -f image2 -ss 00:01:50 e:\img\video.png
# 从第15秒开始以每秒截取7张图片的速度,截取5秒时长的图片[5*7=35张]
ffmpeg -y -i e:\video\video.mp4 -r 7 -ss 00:00:15 -t 00:00:05 e:\img\video-%05d.png
# 每1秒截取3张,截取7秒时长的图片
ffmpeg -y -i e:\video\video.mp4 -r 3 -t 00:00:07 e:\img\video-%3d.png
# GIF动图 (从55秒截取到67秒)
ffmpeg -y -i e:\video\video.mp4 -ss 55 -t 67 -f gif e:\img\mpic.gif
# 截取微缩图 第8秒350x240
ffmpeg -y -i e:\video\video.mp4 -f image2 -ss 8 -t 0.001 -s 350x240 e:\img\cover.png

FFmpeg视频切片


# 每段10秒
ffmpeg -y -i e:\video\video.mp4 -codec:v libx264 -codec:a mp3 -map 0 -f ssegment -segment_format mpegts -segment_list e:\video\m\playlist.m3u8 -segment_time 10 e:\video\m\ts-%03d.ts

FFmpeg视频转码


# 转mp4
ffmpeg -y -i e:\video\video.avi -codec:v libx264 -absf aac_adtstoasc e:\video\tomp4.mp4
# 转ts
ffmpeg -y -i e:\video\tomp4.mp4 -codec:v libx264 -codec:a mp3 e:\video\tots.ts
# 转avi
ffmpeg -y -i e:\video\tots.ts -f avi -vcodec msmpeg4 -acodec mp3 e:\video\toavi.avi
# 转flv
ffmpeg -y -i e:\video\toavi.avi -ab 56 -ar 22050 -qmin 2 -qmax 16 -b 320k -r 15 e:\video\toflv.flv
# 其他
ffmpeg -threads 0 -i e:\video\toflv.flv -c copy -y -bsf:a aac_adtstoasc e:\video\toxxx.xxx

FFmpeg视频加水印


# 加水印位置 overlay=W-w:0 overlay=W-w overlay=0:H-h overlay=W-w:H-h
ffmpeg -i e:\video\video.mp4 -i e:\img\lang.png -filter_complex [1:v]scale=-1:50[img1];[0:v][img1]overlay=W-w:0 -codec:v libx264 -codec:a mp3 e:\video\enlogo.mp4
# 去除水印
ffmpeg -y -i e:\video\enlogo.mp4 -vf delogo=0:0:55:55:100:0 e:\video\delogo.mp4

ffmpeg的几种常用方法(ffmpeg切片步骤)

通过ffmpeg 无损剪切与拼接视频方法

一、ffmpeg合并视频

我经常需要切割再把一些零碎的视频给拼接起来,这样可以省许多磁盘空间。其实用mencoder挺不错的,至少合并的参数极简单。用ffmpeg可以用下面的方法合并,至少我觉得比用cat这么野蛮的合并文件的方法要好。

ffmpeg -i 1.avi -qscale:v 1 1.mpg
ffmpeg -i 2.avi -qscale:v 1 2.mpg
ffmpeg -i concat:"1.mpg|2.mpg" -c copy all.mpg
ffmpeg -i all.mpg -qscale:v 2 output.avi

二、ffmpeg做水面倒影效果

ffmpeg -i input.avi -vf "split[a][b];[a]pad=iw:ih*2[a];[b]vflip[b];[a][b]overlay=0:h" output.avi

三、ffmpeg处理MKV文件也很方便

一般情况下用mkvtoolnix的,ffmpeg处理mkv也很灵活强大。

例如:把2.mkv和3.mkv的所有音频加到1.mkv里(在拼轨同时还可以分别指定对每个轨道进行copy还是重编码):
ffmpeg -i 1.mkv -i 2.mkv -i 3.mkv -map 0:0 -map 0:a -map 1:a -map 2:a -map 3:a -c copy OK.mkv

四、添加图片水印

ffmpeg -i input.avi -vf "movie=1.png[wm];[in][wm]overlay=W-w:H-h" output.avi

这样会把图片放在原影片的最右下角位置

五、把图片和音频合为mp4

ffmpeg -f image2 -r 30/216 -i %3d.jpg -i music.mp3 -c:v mpeg4 -c:a copy OK.mp4

这样就可以把图片和ap3合成视频了,并且图片的页数的时间按指定的music.mp3的时间去平分,不会有图片排完了,歌曲还在播放的现象。但有一点需要注意,假如图片非常少指定的帧数非常低播放可能出现问题,我还在Windows下用smplayer播放会有卡住状况。用mencoder做这些事也十分方便。

六、分割视频并给分割出的视频开头和结尾做淡入淡出效果

ffmpeg -ss 20 -i p.mp4 -vf "fade=in:0:50,fade=out:450:50" -t 20 Ok.mp4
ffmpeg -ss 20 -i p.mp4 -vf "fade=in:0:d=1,fade=out:st=29:d=1" -t 20 OK.mp4

上边第一个命令是以p.mp4第20秒逐渐第40秒完毕的一段视频储存为OK.mp4,并为开头前50帧做个渐近效果,给结尾的50帧做个渐黑效果。第二个命令是按照时间算出来,意思是开始淡入淡出1秒和结尾最后一秒淡出,这一点在特定结尾的淡出十分方便。

使用FFmpeg切割视频以及无损切片命令与下载(操作使用方法)-BG
使用FFmpeg切割视频以及无损切片命令与下载(操作使用方法)

使用FFmpeg切割视频以及无损切片命令与下载(操作使用方法)

用ffmpeg的-segment_times等参数进行关键帧无损视频分割切片 可以去掉-ss,-t,-to参数!命令方便操作使用ffmpeng快速切片 用ffmpeg扔掉效果并不理想的“-s...

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

VPS云服务器分享
VPS云服务器分享 关注:0    粉丝:1 最后编辑于:2022-11-17
这个人很懒,什么都没写

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享