亚洲欧洲国产欧美一区精品,激情五月亚洲色五月,最新精品国偷自产在线婷婷,欧美婷婷丁香五月天社区

      考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場 | 考試論壇  
        當(dāng)前位置:操作系統(tǒng) > Linux > 文章內(nèi)容
        

      Linux基礎(chǔ)教程:通過ffplay實(shí)現(xiàn)攝像頭preview

       [ 2016年2月18日 ] 【
      硬件平臺(tái):Jetson TK1 開發(fā)板(NVIDIA Tegra K1 Mobile Processor 32bit),寧波舜宇光電SP103A(OV16825)模組
      軟件平臺(tái):Ubuntu/Linaro 4.8.2-16ubuntu4(Linux version 3.10.40 32bit)

      攝像頭驅(qū)動(dòng)已經(jīng)實(shí)現(xiàn),支持v4l2的接口。

      首先安裝SDL庫,第一次通過源代碼安裝的SDL-1.2.14版本,使用時(shí)總是提示SDL初始化失敗。第二次先輸入命令“sudo apt-get remove libsdl1.2debian”,“sudo apt-get install libsdl1.2-dev”,再通過源代碼安裝SDL-1.2.15問題解決了。

      然后安裝x264,步驟比較簡單
      $git clone git://git.videolan.org/x264.git
      $cd x264
      $./configure
      $make
      $sudo make install

      最后安裝ffmpeg,通過git下載官網(wǎng)最新的版本,當(dāng)前版本是2.8版本,通過configure --enable-memalign-hack --enable-static,make, sudo make install安裝就可以了。

      我們的驅(qū)動(dòng)輸出的是sensor的原始數(shù)據(jù),為bayer raw10格式,每個(gè)顏色占用16bit,只有低10位是有效數(shù)據(jù),順序?yàn)閎ggr。ffmpeg的原始代碼是不支持raw10的,需要做一定的修改。原始代碼支持bayer raw8和bayer raw16, 因?yàn)閎ayer raw10和bayer raw16一樣都是占用兩個(gè)字節(jié),所以我們參考bay raw16修改。首先在libavdevice/v4l2-common.c中的ff_fmt_conversion_table中增加一項(xiàng),這里我們直接借用raw16格式,在應(yīng)用看來raw10作為raw16處理,在v4l2接口調(diào)用時(shí)使用V4L2_PIX_FMT_SBGGR10。

      { AV_PIX_FMT_BAYER_BGGR16LE, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_SBGGR10 },

      對于raw16,目前的代碼在libswscale/bayer_template.c中BAYER_SHIFT設(shè)置為8,表示低位的8位直接舍棄,因?yàn)閞aw10只能舍棄低2位,所以我們將BAYER_SHIFT設(shè)置為2。

      為了方便調(diào)試可以將libavutil/log.c中av_log_level從AV_LOG_INFO改成AV_LOG_TRACE,輸出更多信息。

      做完以上修改后重新編譯,安裝ffmpeg,然后使用命令"ffplay -f v4l2 -input_format bayer_bggr16le -video_size 4608x3456 -i /dev/video0"就可以實(shí)現(xiàn)預(yù)覽了,如果還是提示SDL初始化失敗,可以在shell中輸入DISPLAY=:0和export DISPLAY命令設(shè)置一下DISPLAY。
      將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請鏈接 | 意見留言 TOP
      關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
      Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved