Home PC Games Linux Windows Database Network Programming Server Mobile  
           
  Home \ Linux \ Achieve camera preview by ffplay     - Graphing tool: Gnuplot (Linux)

- HTML5 Fundamentals study notes (Programming)

- Ubuntu update bug fixes Daquan (Linux)

- LVM basic concepts, management (Linux)

- VMware 8 installation configuration Win7, CentOS-7 Wizard (Linux)

- Linux system security knowledge (Linux)

- Linux module mechanism of (Programming)

- Linux firewall settings -DNS server articles (Server)

- How to allow users to access only a specific database (MSSQL) (Database)

- Java study notes: String (Programming)

- Linux usage in echo (Linux)

- sqlplus connect to Oracle (Database)

- [Android] Eclipse does not update the Android SDK Manager solution [using GoAgent] (Programming)

- Learn to read the source code of vmstat (Linux)

- MySQL rollback insert statement causes ibd file grows double (Database)

- Grep how to find files based on file contents in UNIX (Linux)

- vector C ++ sequence containers (Programming)

- C ++ type conversion and RTTI (Programming)

- Linux shell in back quotes (`) Application (Linux)

- Redis performance test (Database)

 
         
  Achieve camera preview by ffplay
     
  Add Date : 2018-11-21      
         
         
         
  Hardware platform: Jetson TK1 Development Board (NVIDIA Tegra K1 Mobile Processor 32bit), Ningbo Sunny electric SP103A (OV16825) Module
Software platform: Ubuntu / Linaro 4.8.2-16ubuntu4 (Linux version 3.10.40 32bit)

Camera driver has been achieved, support v4l2 interface.

First, install the SDL library for the first time by the SDL-1.2.14 version of the source code for the install, always prompt when using SDL initialization failed. Second to enter the command "sudo apt-get remove libsdl1.2debian", "sudo apt-get install libsdl1.2-dev", and then install the SDL-1.2.15 source code to solve the problem through.

Then install x264, relatively simple steps
$ Git clone git: //git.videolan.org/x264.git
$ Cd x264
$. / Configure
$ Make
$ Sudo make install

Finally install ffmpeg, via git to download the latest version of the official website, the current version is version 2.8, by configure --enable-memalign-hack --enable-static, make, sudo make install to install it.

Our drive output is the raw sensor data for bayer raw10 format, each color occupying 16bit, only the lower 10 bits are valid data, order bggr. ffmpeg original code is not supported raw10, we need to make some modifications. Original code support bayer raw8 and bayer raw16, because bayer raw10 and bayer raw16 occupies two bytes are the same, so we refer bay raw16 modified. First ff_fmt_conversion_table in libavdevice / v4l2-common.c in an increase, where we directly borrowed raw16 format in the application process seems raw10 as raw16 use V4L2_PIX_FMT_SBGGR10 when v4l2 interface calls.

{AV_PIX_FMT_BAYER_BGGR16LE, AV_CODEC_ID_RAWVIDEO, V4L2_PIX_FMT_SBGGR10},

For raw16, currently code libswscale / bayer_template.c in BAYER_SHIFT set to 8, indicating that the lower 8 bits directly discarded because raw10 can only give up two low, so we will BAYER_SHIFT to 2.

To facilitate debugging can libavutil / log.c in av_log_level into AV_LOG_TRACE from AV_LOG_INFO, output for more information.

After finish the above changes recompile, install ffmpeg, then use the command "ffplay -f v4l2 -input_format bayer_bggr16le -video_size 4608x3456 -i / dev / video0" preview can be achieved, or if prompted SDL initialization fails, you can enter the shell DISPLAY =: 0 export DISPLAY command and set about DISPLAY.
     
         
         
         
  More:      
 
- Upgrade to Linux Mint 16 petra Mint 17 Qiana (Linux)
- By creating a personal technology blog Detailed GitHub (Linux)
- Hadoop1.2.1 plug compilation (Server)
- File easier to compare tools under Linux (Linux)
- How to add and delete bookmarks in Ubuntu (Linux)
- MySQL query plan key_len know all (Database)
- Getting Started with Linux system to learn: how to install the kernel headers on Linux (Linux)
- Linux firewall settings instance (Linux)
- Ansible installation configuration and simple to use (Server)
- Java thread lifecycle (Programming)
- xargs Detailed description (Linux)
- To install Emacs under CentOS 6.5 (Linux)
- Java and C / C ++ data conversion when network communication (Programming)
- Lambda expressions of evolution (Programming)
- A well-known but rarely used skills: object pool (Programming)
- UNIX file permissions in the "set user ID bit" (Linux)
- OpenGL Superb Learning Notes - Depth Texture and Shadows (Programming)
- W and uptime command (Linux)
- Use install_updates upgrade GAMIT / GLOBK (Linux)
- Role Object of registerNatives () method (Programming)
     
           
     
  CopyRight 2002-2022 newfreesoft.com, All Rights Reserved.