一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【飛凌OKA40i-C開發(fā)板試用體驗】玩轉FFmpeg

開發(fā)板試用精選 ? 來源:開發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-10-20 10:42 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來源電子發(fā)燒友社區(qū),作者:zealsoft, 帖子地址:https://bbs.elecfans.com/jishu_2305824_1_1.html


感謝“電子發(fā)燒友網(wǎng)”和飛凌嵌入式公司提供了本次OKA40i-C開發(fā)板的評測機會。上次我們介紹了通過HDMI接口連接智能電視的測試情況,今天使用FFmpeg進行視頻編解碼的測試。
一、 FFmpeg的安裝
FFmpeg是用來記錄、轉換數(shù)字音頻、視頻的開源軟件,它支持文件和網(wǎng)絡流操作。它支持以函數(shù)庫的方式使用,所以有很多軟件都依賴它,包括VLC、暴風影音、騰訊會議等。它的命令行程序也非常強大,各種命令行選項學起來雖然困難,但是幾乎能夠滿足日常對音視頻的各種處理需求。今天我們介紹的就是它的命令行工作方式。FFmpeg提供了全部源代碼,所以在網(wǎng)上可以找到很多教程是關于交叉編譯ARM版本的。如果想偷懶,也可以從https://johnvansickle.com/ffmpeg/下載已經(jīng)編譯好的版本。我們測試的版本使用的是FFmpeg-release-armel-static.tar.xz。解壓縮以后拷貝到arm開發(fā)板并設置好權限就可以使用了。
二、 USB攝像頭測試

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


  1. v4l2-ctl --list-devices
復制代碼

可以看到/dev/video0就是我們的USB攝像頭,如下圖。
poYBAGMjESmAfJwfAABUouCoJ-0969.png
使用下面的命令可以看到該攝像頭的全部參數(shù):


  1. 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程序進行測試,不過都沒有成功,得到的錯誤信息如下圖所示。
pYYBAGMjESqAEkELAABWcoXczkA697.png
poYBAGMjESqAP62kAAAmhKzc3yY319.png
我們使用FFmpeg可以抓取視頻,命令行如下:


  1. ffmpeg -f video4linux2 -s 640x480 -pix_fmt yuyv422 -i /dev/video0
  2. out.yuv
復制代碼


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


  1. ffplay -s 640x480 -pix_fmt yuyv422 out.yuv
復制代碼


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


  1. ffmpeg -y -t 15 -r 25 -f video4linux2-i /dev/video0 out3.mp4 -timestamps bs
復制代碼


其中的-r 25表示每秒采樣25幀,這個參數(shù)必須有,否則FFmpeg可能會不斷地采集并壓縮同一視頻幀。-r參數(shù)超過30沒有什么意義,因為USB攝像頭的最大能力就是30fps。A40i可以對于1080p的視頻壓縮達到45fps,所以對USB攝像頭的視頻壓縮應該沒有什么壓力。

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


  1. ffmpeg -benchmark -i translate.mp4 -f null –
復制代碼


得到的測試數(shù)據(jù)如下:
video:148kBaudio:3428kB subtitle:0kB other streams:0kB globalheaders:0kB muxing overhead: unknown
bench: utime=2.820s stime=0.110s rtime=0.956s
bench: maxrss=14208kB

手上暫時沒有ARM開發(fā)板可以對比,就拿我用了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

以后可以找其他開發(fā)板來對比一下。
四、 FFmpeg產生實時視頻流
FFmpeg可以支持實時視頻流的發(fā)送和接收,從而可以把板子上的視頻實時發(fā)送到PC上,由PC上的軟件實時接收并顯示。我們可以使用下面的命令將板子上的一個MP4轉換為RTP碼流發(fā)送的PC上:


  1. ffmpeg -re -i test.mp4 -an -c copy -f rtp rtp://192.168.0.105:1234
復制代碼



使用Wireshark可以看到在PC機的1234端口收到大量來自板子的H.264視頻流。
pYYBAGMjESuAYxEfAAPhbfGMAgg347.png
如果想在PC上顯示視頻流,需要建立一個SDP文件,它描述視頻流中的端口和編碼信息。SDP是來自SIP標準中定義,目前VLC、Apple QuickTime和ffplay等很多軟件都可以打開SDP文件,并按照SDP中的描述顯示視頻流。SDP文件并不需要手工編寫,在ffmpeg運行時它會顯示命令行所對應的SDP定義,如下圖所示。
poYBAGMjESyASSoCAADe2O_5kTc452.png
也可以用重定向將輸出寫入一個SDP文件,如:


  1. ffmpeg -re -i test.mp4 -an -c copy -f rtp rtp://192.168.0.105:1234
  2. > rtp.sdp
復制代碼



下面就是使用VLC顯示的接收到的視頻流。
pYYBAGMjES6ABJBrAB35b1G1HrE348.png
五、 FFmpeg轉發(fā)USB攝像頭的視頻流
前面演示了將MP4文件轉換為視頻流,我們也可以將USB攝像頭采集的內容實時轉發(fā)到PC上,使用下面的命令行即可。


  1. ffmpeg -y -t 15 -r 25 -f video4linux2-i /dev/video0 -f rtp
  2. rtp://192.168.0.105:1234 > usb.sdp
復制代碼


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



  1. ffplay -protocol_whitelist "file,udp,rtp" -i usb.sdp
復制代碼

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 飛凌
    +關注

    關注

    0

    文章

    135

    瀏覽量

    16478
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    T527N開發(fā)板試用T527N開發(fā)板開箱評測

    很高興收到嵌入式申請的T527N開發(fā)板,板子的正反面如下圖所示: 可以看到,板子上面的資源非常的豐富,有CAN,485, SIM卡槽
    發(fā)表于 07-04 11:43

    T527N開發(fā)板試用】開箱與開發(fā)板介紹視頻

    嵌入式OK527N-C開發(fā)板開箱介紹】 https://www.bilibili.com/video/BV1sfKSzmEtU/?share_source=copy_web&
    發(fā)表于 06-26 09:43

    5分鐘學會網(wǎng)絡服務搭建!i.MX9352開發(fā)板 + Linux 6.1實戰(zhàn)示例

    本文就將以嵌入式OK-MX9352-C開發(fā)板(搭載了在工業(yè)物聯(lián)網(wǎng)領域廣泛應用的NXP i.MX9352處理器)為平臺,介紹如何在Linu
    的頭像 發(fā)表于 06-13 16:42 ?688次閱讀
    5分鐘學會網(wǎng)絡服務搭建!<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>i</b>.MX9352<b class='flag-5'>開發(fā)板</b> + Linux 6.1實戰(zhàn)示例

    支持OpenHarmony操作系統(tǒng)!OK527N-C開發(fā)板免費試用 #開發(fā)板試用 #HarmonyOS

    開發(fā)板
    ElecFans小喇叭
    發(fā)布于 :2025年06月05日 16:52:42

    基于RK處理器,創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗

    數(shù)量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板免費
    的頭像 發(fā)表于 06-05 16:31 ?453次閱讀
    基于RK處理器,創(chuàng)龍TL3562-MiniEVM<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗

    性能強悍!合眾HZ-RK3568開發(fā)板試用體驗

    月19日 ? 評測數(shù)量: 10塊 ? 更多熱點文章閱讀 基于平頭哥TH1520芯片,潤開鴻HH-SCDAYU800A開發(fā)板免費試用 RISC-V開發(fā)板深度評測!頂級開發(fā)板免費
    的頭像 發(fā)表于 06-05 16:30 ?535次閱讀
    性能強悍!合眾HZ-RK3568<b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>體驗

    有獎丨米爾 NXP i.MX91開發(fā)板免費試用來啦

    米爾與NXP合作發(fā)布的新品基于NXPi.MX91應用處理器的MYD-LMX91開發(fā)板免費試用名額來啦~~米爾提供了3套價值588元的MYD-LMX91開發(fā)板發(fā)起試用活動您不僅可以免費體
    的頭像 發(fā)表于 06-05 08:02 ?658次閱讀
    有獎丨米爾 NXP <b class='flag-5'>i</b>.MX91<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>來啦

    5分鐘學會網(wǎng)絡服務搭建,i.MX9352 + Linux 6.1實戰(zhàn)示例

    本文將以嵌入式OK-MX9352-C開發(fā)板(搭載了在工業(yè)物聯(lián)網(wǎng)領域廣泛應用的NXP i.MX9352處理器)為平臺,介紹如何在Linux
    的頭像 發(fā)表于 05-30 11:08 ?1706次閱讀
    5分鐘學會網(wǎng)絡服務搭建,<b class='flag-5'>飛</b><b class='flag-5'>凌</b><b class='flag-5'>i</b>.MX9352 + Linux 6.1實戰(zhàn)示例

    【評測試用】合眾HZ-T536開發(fā)板免費試用體驗

    【評測試用】合眾HZ-T536開發(fā)板免費試用體驗
    的頭像 發(fā)表于 05-27 08:05 ?232次閱讀
    【評測<b class='flag-5'>試用</b>】合眾HZ-T536<b class='flag-5'>開發(fā)板</b>免費<b class='flag-5'>試用</b>體驗

    3.1s啟動!嵌入式i.MX93開發(fā)板部署LVGL,打造更高效的GUI

    近期,嵌入式為基于NXP i.MX93系列處理器打造的OK-MX9352-C開發(fā)板成功移植了LVGL v8.3,不僅界面美觀精致,啟動速
    的頭像 發(fā)表于 01-16 11:52 ?771次閱讀
    3.1s啟動!<b class='flag-5'>飛</b><b class='flag-5'>凌</b>嵌入式<b class='flag-5'>i</b>.MX93<b class='flag-5'>開發(fā)板</b>部署LVGL,打造更高效的GUI

    嵌入式OK3588J-C開發(fā)板體驗】OK3588J-C開發(fā)板的支持RKMPP的FFmpeg移植

    沒辦法了,我們自己進行編譯一下吧,而且官方也給我們提供具體的移植過程,OK3588 5.10.66 Forlinx Desktop20.04 移植ffmpeg,不過也可以按照我這里面來進行移植
    發(fā)表于 12-30 08:57

    嵌入式OK3588J-C開發(fā)板體驗】OK3588J-C開發(fā)板ffmpeg編解碼、HDMI輸入及編碼

    是H264的。 在上傳到開發(fā)板里面,然后我們再使用ffprobe來查看一下具體的媒體信息。 我們首先使用最不帶參數(shù)的轉換命令試一下: ffmpeg -i video.mp4 test1.mp4 執(zhí)行
    發(fā)表于 12-27 19:26

    嵌入式OK3588J-C開發(fā)板體驗】OK3588J-C開發(fā)板開箱評測

    很高興收到嵌入式提供的OK3588J-C開發(fā)板,這是瑞芯微最新的8K旗艦8核SOC,非常適合用來做機器視覺,AI,語音識別,圖像處理。 下面來看看OK3588J-
    發(fā)表于 12-04 15:23

    玩轉RK3588開發(fā)板基于connector-split 功能實現(xiàn)多屏聯(lián)動

    玩轉RK3588開發(fā)板基于connector-split 功能實現(xiàn)多屏聯(lián)動
    的頭像 發(fā)表于 12-02 16:05 ?979次閱讀
    <b class='flag-5'>玩轉</b>RK3588<b class='flag-5'>開發(fā)板</b>基于connector-split 功能實現(xiàn)多屏聯(lián)動

    嵌入式OK3576-C開發(fā)板體驗】開箱報告

    簡介 很榮幸參與到本次由嵌入式和電子發(fā)燒友提供的OK3576-C開發(fā)板試用機會。
    發(fā)表于 08-22 02:13