FFmpeg入门之常用命令
生活随笔
收集整理的這篇文章主要介紹了
FFmpeg入门之常用命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
ffmpeg常用命令
常用命令分類
ffmpeg處理流程
基本信息查詢
如命令行:
ffmpeg -codecs錄制命令
UBUNTU上錄制mp4的命令
ffmpeg -thread_queue_size 128 -f x11grab -video_size 1280x800 -framerate 30 -i :0.0 -f video4linux2 -video_size 400x300 -framerate 30 -i /dev/video0 -f alsa -ac 2 -i pulse -filter_complex '[0:v][1:v]overlay=x=main_w-overlay_w-10:y=main_h-overlay_h-10[out]' -map '[out]' -map 2:a -vcodec libx264 -acodec ac3 test.mp4播放音頻
#播放音頻文件 播放過程中按w鍵能夠顯示音頻波形圖 ffplay test.mp3循環播放
ffplay pm.mp4 -loop 10播放完之后退出
ffplay -autoexit pm.mp4設置播放窗口標題
ffplay -window_title test -loop 2 pm.mp4多媒體格式轉換
將mp4轉換為flv文件
ffmpeg -i input.mp4 output.flv處理原始數據命令
音頻原始數據–pcm
視頻原始數據–yuv
將當前mp4數據生成原始yuv數據
ffmpeg -i test.mp4 -an -c:v rawvideo -pix_fmt yuv420p ffmout.yuv因為原始數據yuv中沒有寬高的信息,使用ffplay播放的時候需要指定寬度
ffplay -s 1280x800 ffmout.yuv提取原始音頻
ffmpeg -i mkwqianfeng.mp4 -vn -ar 44100 -ac 2 -f s16le omkwqianfeng.pcm -vn : video no -ac 2:雙聲道 -f s16le: 有符號 16 位大小表示, little end播放對應的原始音頻
ffplay -ar 44100 -ac 2 -f s16le omkwqianfeng.pcm濾鏡命令
裁剪命令
# -vf : video f filter # crop : 裁剪命令 # in_w-400 寬度減去 400 默認以中間為中心,總有兩邊進行裁剪,上下同理, 可以選定xy指定裁剪中心 # -c:v -- c編碼方式 v視頻 # -c:a -- 音頻編碼方式 ffmpeg -i mkwqianfeng.mp4 -vf crop=in_w-400:in_h-200 -c:v libx264 -c:a copy qianfengfilter.mp4添加水印
ffmpeg -i out.mp4 -vf "movie=logo.png,scale=64:48[watermask];[in][watermask] overlay=30:10 [out]" water.mp4刪除水印
ffplay -i test.flv -vf delogo=x=806:y=20:w=70:h=80:show=1視頻縮小
ffmpeg -i out.mp4 -vf scale=iw/2:-1 scale.mp4倍速播放
ffmpeg -i out.mp4 -filter_complex "[0:v]setpts=0.5*PTS[v];[0:a]atempo=2.0[a]" -map "[v]" -map "[a]" speed2.0.mp4視頻鏡像
ffmpeg -i out.mp4 -filter_complex "[0:v]pad=w=2*iw[a];[0:v]hflip[b];[a][b]overlay=x=w" duicheng.mp4畫中畫
ffmpeg -i out.mp4 -i out1.mp4 -filter_complex "[1:v]scale=w=176:h=144:force_original_aspect_ratio=decrease[ckout];[0:v][ckout]overlay=x=W-w-10:y=0[out]" -map "[out]" -movflags faststart new.mp4錄制畫中畫
ffmpeg -f avfoundation -i "1" -framerate 30 -f avfoundation -i "0:0" -r 30 -c:v libx264 -preset ultrafast -c:a libfdk_aac -profile:a aac_he_v2 -ar 44100 -ac 2 -filter_complex "[1:v]scale=w=176:h=144:force_original_aspect_ratio=decrease[a];[0:v][a]overlay=x=W-w-10:y=0[out]" -map "[out]" -movflags faststart -map 1:a b.mp4多路視頻拼接
ffmpeg -f avfoundation -i "1" -framerate 30 -f avfoundation -i "0:0" -r 30 -c:v libx264 -preset ultrafast -c:a libfdk_aac -profile:a aac_he_v2 -ar 44100 -ac 2 -filter_complex "[0:v]scale=320:240[a];[a]pad=640:240[b];[b][1:v]overlay=320:0[out]" -map "[out]" -movflags faststart -map 1:a c.mp4裁剪合并命令
ffmpeg -i mkwqianfeng.mp4 -ss 00:01:10 -t 10 cut.ts合并
# input.txt 要合并的文件列表 ffmpeg -f concat -i input.txt out.flvinput.txt格式file后面跟上對應視頻文件名,支持編碼的各種視頻文件
andrew@andrew-G3-3590:/work/test$ cat input.txt file 'cut.ts' file 'cut2.ts'圖片與視頻互轉命令
將視頻轉換為圖片
# -r 1:每秒生成 一張圖片, 圖片幀率 # -f image2 : 圖片格式是iamge2 # %3d : 10進制生成圖片的序列 ffmpeg -i 元氣.mp4 -r 1 -f image2 image-%3d.jpeg直播推流與拉流
拉流
# 從指定rtmp網站上拉流,并存儲到xxx.flv格式的文件中 ffmpeg -i rtmp://202.69.69.180:443/webcast/bshdlive-pc -c copy rtmptest.flv推流
ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName轉流
ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v copy -f flv rtmp://server/live/h264Stream實時推流
ffmpeg -framerate 15 -f avfoundation -i "1" -s 1280x720 -c:v libx264 -f flv rtmp://localhost:1935/live/roomffplay
播放yuv數據
ffplay -pix_fmt nv12 -s 192x144 1.yuv播放YUV中的Y平面
ffplay -pix_fmt nv21 -s 640x480 -vf extractplanes='y' 1.yuv總結
以上是生活随笔為你收集整理的FFmpeg入门之常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【软件工程】设计原则与设计模式
- 下一篇: ffmpeg函数调用失败--在编译自己的