日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FFmpeg入门之常用命令

發布時間:2025/3/15 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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.flv

input.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/room

ffplay

播放yuv數據

ffplay -pix_fmt nv12 -s 192x144 1.yuv

播放YUV中的Y平面

ffplay -pix_fmt nv21 -s 640x480 -vf extractplanes='y' 1.yuv

總結

以上是生活随笔為你收集整理的FFmpeg入门之常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。