美文网首页
ffmpeg常用命令

ffmpeg常用命令

作者: 叶迎宪 | 来源:发表于2018-06-21 11:50 被阅读0次

    一、使用点播文件作为模拟直播源

    ffmpeg.exe -re -stream_loop -1 -i 1280.mp4 -vcodec copy -acodec copy -f flv rtmp://192.168.1.200/live/test1

    二、将多个视频文件合并

    新建一个list.txt文件,里面内容

    file clip1.mp4
    file clip2.mp4
    file clip3.mp4

    合并命令

    ffmpeg.exe -f concat -i list.txt -vcodec copy -acodec copy all.mp4

    三、文件截取

    ffmpeg.exe -ss 0:10:30 -t 0:01:0 -i all.mp4 -vcodec copy -acodec copy clip1.mp4

    -ss 指定截取的开始时间
    -t 指定持续的时间

    四、将左右半宽的3D视频转成正常的观看比例

    ffmpeg.exe -i "E:\BaiduYunDownload[3D电影][k3d.cn][完美中字]阿凡达.AVATAR.3DBDRip.HSBS.1080P-C3D.mkv" -vcodec libx264 -preset fast -crf 25 -s 1920x540 -aspect 32:9 -acodec copy 1.mp4

    五、ffmpeg一个命令截两种分辨率封面图

    ffmpeg -skip_frame nokey -i 1280.mp4 -filter_complex "thumbnail=100,split[i1][i2];[i2]crop=960:720:160:0,scale=480:360[o2]" -map [i1] -frames:v 1 2.jpg -map [o2] -frames:v 1 1.jpg

    thumbnail filter从指定的n帧图像中,自动选取最佳的封面图

    六、转码小体积的caf铃声

    ffmpeg.exe -i call.caf -ac 1 -ar 32000 -acodec adpcm_ima_qt call2.caf

    七、设置libx264 vbv-bufsize和vbv-maxrate

    ffmpeg.exe -i "2.mp4" -vcodec libx264 -preset veryslow -s 960x540 -bufsize 4000k -maxrate 2000k -acodec copy 1.mp4

    八、画面翻转

    垂直翻转
    ffmpeg -i in.avi -vf "vflip" out.avi

    垂直翻转再水平翻转
    ffmpeg -i in.avi -vf "vflip, hclip" out.avi

    九、检测视频音量,并调节

    ffmpeg.exe -i video.avi -af "volumedetect" -f null NUL
    检测视频的最大音量,从max_volume中知道音频的最大音量

    然后调用
    ffmpeg -i input.wav -af "volume=5dB" output.mp3

    进行音量调节

    参考
    http://ffmpeg.org/ffmpeg-filters.html#volumedetect

    十、叠加水印

    ffmpeg.exe -i input.mp4 -vf "movie=logo.png,scale=400:400 [watermark]; [in][watermark] overlay=main_w-overlay_w-50:main_h-overlay_h-50 [out]" out.mp4

    这样水印是放在右下角的。放在其他位置参考
    http://my.oschina.net/zhuanghaoren/blog/200684

    叠加2个水印
    ffmpeg.exe -i "clip-1.mp4" -i logo1.png -i logo2.png -filter_complex "overlay=main_w-overlay_w-50:50, overlay=50:50" - vcodec libx264 -preset medium -acodec copy 1.mov

    ffmpeg.exe -i "clip-1.mp4" -vf "movie=logo1.png [logo1]; movie=logo2.png [logo2]; [in][logo1] overlay=main_w-overlay_w- 50:50 [tmp]; [tmp][logo2] overlay=50:50" -vcodec libx264 -preset medium -acodec copy 1.mov

    十一、计算视频PSNR

    ffmpeg.exe -i source.avi -i encoded.avi -filter_complex "psnr" -f null -

    十二、把图片转成yuv文件

    ffmpeg -i 9f.png -pix_fmt yuv420p -s 480x720 d:\1.yuv

    十三、视频剪裁画面

    ffmpeg -i 1.MOV -vf crop=1080:1080:420:0 -c:v libx264 -b:v 3000k -an 1.mp4

    crop的四个参数,with:height:x:y

    十四、将两个视频画面左右放在一起

    ffmpeg -i left.mp4 -i right.mp4 -filter_complex "[0:v]scale=iw/2:ih[left],[1:v]scale=iw/2:ih[right],[left][right]framepack=sbs" -c:v libx264 all.mp4

    同理,要将两个视频画面上下放在一起

    ffmpeg -i down.mp4 -i up.mp4 -filter_complex "[0:v]scale=iw:ih/2[down],[1:v]scale=iw:ih/2[up],[down][up]framepack=tab" -c:v libx264 all.mp4

    十五、将音视频文件合并在一起

    ffmpeg -i video2.avi -i audio.mp3 -c copy output.avi

    十六、把pcm文件转成wav文件,方便使用播放器听效果

    ffmpeg -f s16le -ar 48000 -ac 2 -i 1.pcm 1.wav

    同样反过来,把wav转换成pcm,方便测试程序读取

    ffmpeg -i 1.wav -f s16le 1.pcm

    十七、将9:16的图片转成16:9,并在左右添加黑边

    ffmpeg -i 1.jpg -vf "scale=-1:1080,pad=1920:1080:(ow-iw)/2:0" 2.jpg

    十八、从摄像头采集视频,并推流rtmp

    先找出dshow系统中的摄像头名字
    ffmpeg -list_devices true -f dshow -i dummy

    采集推流的命令
    ffmpeg -f dshow -i video="Logitech HD Webcam C270" -vcodec libx264 -pix_fmt yuv420p -s 640*480 -g 45 -tune zerolatency -f flv "rtmp://192.168.3.34:18094/live/screen"

    相关文章

      网友评论

          本文标题:ffmpeg常用命令

          本文链接:https://www.haomeiwen.com/subject/tjhqyftx.html