国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

電子工程網

標題: FFmpeg的使用方式 [打印本頁]

作者: 繁花之語    時間: 2024-8-30 13:57
標題: FFmpeg的使用方式

1. FFmpeg的安裝

FFmpeg是用來記錄、轉換數字音頻、視頻的開源軟件,它支持文件和網絡流操作。它支持以函數庫的方式使用,所以有很多軟件都依賴它,比如VLC、暴風影音、騰訊會議等。它的命令行程序也非常強大,各種命令行選項學起來雖然困難,但是幾乎能夠滿足日常對音視頻的各種處理需求。今天我們就通過飛凌嵌入式OKA40i-C開發板來介紹它的命令行工作方式。

FFmpeg提供了全部源代碼,所以在網上可以找到很多教程是關于交叉編譯ARM版本的。我們測試的版本使用的是FFmpeg-release-armel-static.tar.xz。解壓縮以后拷貝到飛凌嵌入式OKA40i-C開發板上并設置好權限就可以使用了。

2. USB攝像頭測試

OKA40i-C開發板接口豐富,它支持USB攝像頭、CMOS-OV5640攝像頭、模擬攝像頭。把USB攝像頭插入開發板,然后使用

v4l2-ctl --list-devices

可以看到/dev/video0就是我們的USB攝像頭,如下圖




使用下面的命令可以看到該攝像頭的全部參數:

v4l2-ctl -d /dev/video0 --all v4l2-ctl -d /dev/video0 --all Driver Info (not using libv4l2): Driver name : uvcvideo Card type : USB2.0 PC CAMERA Bus info : usb-sunxi-ehci-1 Driver version : 3.10.65 Capabilities : 0x04000001 Video Capture Streaming Video input : 0 (Camera 1: ok) Format Video Capture: Width/Height : 640/480 Pixel Format : 'YUYV' Field : None Bytes per Line : 1280 Size Image : 614400 Colorspace : Default Transfer Function : Default YCbCr Encoding : Default Quantization : Default Crop Capability Video Capture: Bounds : Left 0, Top 0, Width 640, Height 480 Default : Left 0, Top 0, Width 640, Height 480 Pixel Aspect: 1/1 Streaming Parameters VideoCapture: Capabilities : timeperframe Frames per second: 30.000 (30/1) Read buffers : 0 brightness (int) : min=0 max=255 step=1 default=128value=128 contrast (int) : min=0 max=255 step=1 default=135value=135 saturation (int) : min=0 max=255 step=1 default=75 value=75 hue (int) : min=-127 max=127 step=1 default=0 value=0 gamma (int) : min=1 max=8 step=1 default=4 value=4 power_line_frequency (menu) : min=0 max=2 default=1 value=1 sharpness (int) : min=0 max=15 step=1 default=5 value=5 backlight_compensation (int) : min=1 max=5 step=1 default=1 value=1

我們使用了兩種型號的USB攝像頭,按照手冊說明使用內置的uvccamera程序進行測試,不過都沒有成功,得到的錯誤信息如下圖所示。







我們使用FFmpeg可以抓取視頻,命令行如下:

ffmpeg -f video4linux2 -s 640x480 -pix_fmt yuyv422 -i /dev/video0 out.yuv

使用Windows版本的ffplay可以正常播放抓取的視頻,命令行如下:

ffplay -s 640x480 -pix_fmt yuyv422 out.yuv

上面保存的是YUV格式的原始視頻,如果要保存壓縮視頻,可以用下面的命令行:

ffmpeg -y -t 15 -r 25 -f video4linux2 -i /dev/video0 out3.mp4-timestamps bs

其中的-r 25表示每秒采樣25幀,這個參數必須有,否則FFmpeg可能會不斷地采集并壓縮同一視頻幀。-r參數超過30沒有什么意義,因為USB攝像頭的最大能力就是30fps。

飛凌嵌入式OKA40i-C開發板可以對于1080P的視頻壓縮達到45fps,所以對USB攝像頭的視頻壓縮應該沒有什么壓力。

3. FFmpeg性能測試

FFmpeg有個benchmark參數可以方便進行性能測試。我們對A40i開發板自帶的一個MP4視頻就行解碼測試,命令行如下:

ffmpeg-benchmark -i translate.mp4 -f null –

得到的測試數據如下:

video: 148kB audio: 3428kB subtitle:0kB other streams:0kB globalheaders:0kB muxing overhead: unknown bench: utime=2.820s stime=0.110s rtime=0.956s bench: maxrss=14208kB

由于我手上暫時沒有其他的開發板可以對比,于是就通過我用了5年的i7-6500筆記本測試了一下,測試結果如下:

video: 241kB audio: 3428kB subtitle:0kB other streams:0kB globalheaders:0kB muxing overhead: unknown bench: utime=0.391s stime=0.000s rtime=0.228s bench: maxrss=20316kB

4. FFmpeg產生實時視頻流

FFmpeg可以支持實時視頻流的發送和接收,從而可以把OKA40i-C開發板上的視頻實時發送到PC上,由PC上的軟件實時接收并顯示。我們可以使用下面的命令將OKA40i-C開發板上的一個MP4轉換為RTP碼流發送的PC上:

ffmpeg -re -i test.mp4 -an -c copy -f rtp rtp://192.168.0.105:1234

使用Wireshark可以看到在PC機的1234端口收到大量來自OKA40i-C開發板的H.264視頻流。




如果想在PC上顯示視頻流,需要建立一個SDP文件,它描述視頻流中的端口和編碼信息。SDP是來自SIP標準中定義,目前VLC、Apple QuickTime和ffplay等很多軟件都可以打開SDP文件,并按照SDP中的描述顯示視頻流。SDP文件并不需要手工編寫,在ffmpeg運行時它會顯示命令行所對應的SDP定義,如下圖所示。




也可以用重定向將輸出寫入一個SDP文件,如:

ffmpeg -re -i test.mp4 -an -c copy -f rtp rtp://192.168.0.105:1234 > rtp.sdp

下面就是使用VLC顯示的接收到的視頻流。




5. FFmpeg轉發USB攝像頭的視頻流

前面演示了將MP4文件轉換為視頻流,我們也可以將USB攝像頭采集的內容實時轉發到PC上,使用下面的命令行即可。

ffmpeg -y -t 15 -r 25 -f video4linux2 -i /dev/video0 -f rtp rtp://192.168.0.105:1234 > usb.sdp

再使用下面的命令行就可以看到實時抓取的USB攝像頭的視頻流了:

ffplay -protocol_whitelist "file,udp,rtp" -i usb.sdp







歡迎光臨 電子工程網 (http://www.qingdxww.cn/) Powered by Discuz! X3.4
主站蜘蛛池模板: 一级aaaaaa片毛片在线播放 | 两个人免费观看完整版 | 奶茶app下载网址进入下载 | 欧美综合第一页 | 日本天堂影院在线播放 | 亚洲天堂男人网 | 欧美vs日韩vs国产在线观看 | 向日葵在线观看视频免费2019 | 国产片在线看 | 丁香色婷婷国产精品视频 | 亚洲欧美韩国日本 | 不卡一级毛片免费高清 | 国产无卡一级毛片aaa | 女人18片免费视频网站 | 久草视频精品 | 黑人性hd | 欧美亚洲 尤物久久 综合精品 | 免费看va | 国产精自产拍久久久久久蜜 | 日韩成人精品 | 四虎成人免费视频 | 99成人在线视频 | 国内精品91 | 成人免费无毒在线观看网站 | 精品久久久久久影院免费 | 91在i线观| 四虎网站最新网址 | 国产深夜福利在线观看网站 | 日本在线观看免费观看完整版 | 黄视频网站在线观看 | 久久免费观看国产精品 | 亚洲无线码一区二区三区 | 国产一区二区三区在线免费观看 | 免费99| 国产精品.com| 性感美女被爆操 | 色婷婷综合缴情综六月 | 自拍偷窥 | 成人黄页网站免费观看大全 | 男女特黄一级全版视频 | 午夜在线视频网站 |