基于itop4412在Linux最小系统下的USB摄像头采集视频的H264编码

原创 2017年01月11日 00:09:27

1.实验目的:实现linux系统下的H264编码(Linux最小系统)

2.实验平台:迅为4412开发板。

3.实验流程:

(1)编码代码:

V4L2视频采集与H.264编码源码大放送:Linux视频采集与编码(三)

(2) x264库编译:

我是参考前面代码的博主实现的,所以我在下载x264库的版本也相同。
为:x264-snapshot-20120101-2245
下载地址:(ftp://ftp.videolan.org/pub/videolan/x264/snapshots/)

解压: #tar -vxf x264-snapshot-20120101-2245

  #cd x264-snapshot-20120101-2245
  # ./configure --host=arm-linux --prefix=/opt/wecam/ffmpeg --enable-shared --disable-asm

配置选项中已经添加了host的选项,makefile就不用再修改,但是要修改config.mak。我修改的如下:

这里写图片描述

这个配置比较关键,如果没有正确修改,后面的操作就会出错!

#make

#make install

编译成功:

这里写图片描述


编译完成后,在目标路径下(/opt/wecam/ffmpeg)可以得到三个文件夹:
这里写图片描述

分别是可以执行的文件:x264 ; 头文件;x264库文件。至此,x264库的编译就完成了。

(3)编译源文件,从(1)得到的代码,根据自己的开发板经过修改后,将x264库中编译出来的 lib 和 include 两个文件夹拷贝到源代码文件中替换掉。

这里写图片描述

将Makefile文件中的编译器替换如下:

这里写图片描述

执行 make 编译,在路径下的 bin 文件夹中可以得到可执行文件。

(4) 测试
将可执行文件和编译得到库文件通过tftp服务器方式下载到开发板上,chmod 修改权限后执行,可在当前路径下得到采集的 yuv 格式的视频和经过编码的 h264 两个视频文件。
库文件:放到开发板的 /lib/目录下

这里写图片描述

视频:

这里写图片描述

可以明显的看到经过编码后的视频减小了很多。拷贝到电脑,用 VLC media player 播放器播放 h264 文件,发现视频的色彩变成了黑白,继续解决。至少已经实现了视频的编码了,嘿嘿。

这里写图片描述

(5)直接使用编译得到的 x264 文件编码采集到的 yuv 视频文件。将采集到的视频文件先通过 mv 重新命名 cam_usb_test.yuv –> test_640x480.yuv ,分辨率是可以选择的。(必须先重新进行文件名的修改,否则在运行x264编码的时候会出错)

 ./x264 -o text_1.h264 test_640x480.yuv 

编码过程:

这里写图片描述

可得到text_1.h264文件。用 VLC 可进行播放,但是出现花屏,我想是不是分辨率的问题呢?

x264输出统计值含义(http://blog.csdn.net/dancing_night/article/details/44852649)

参考:
1.mini2440下UVC摄像头采集视频并且用H264压缩

2.linux编译x86和arm平台的x264

3.远程监控系统项目总结

4.arm mini2440 基于v4l2 ffmpeg x264的视频远程监控

5.s5pv210+v4l2+h264硬件编码+RTP协议传输+SDP文件的嵌入式视频监控系统

版权声明:原创文章转载请注明出处。

基于itop4412在Linux最小系统下的USB摄像头视频采集

1.实验目的:实现USB摄像头视频采集2.实验平台:迅为4412开发板,迅为的USB摄像头。3.实验流程: 将yuv视频保存到文件中,用pyuv播放器播放。视频参数: 尺寸:...

结合芯片exynos 4412介绍V4L2用来视频编解码的驱动

这里结合芯片exynos 4412介绍一下V4L2用来视频编解码的驱动结构 内核代码基于3.4.106  linux-3.4.106\drivers\media\video\s5p-mfc  l...

迅为4412开发板支持AVIN视频输入/AV监控摄像头输入模块

迅为4412开发板支持AVIN视频输入/AV监控摄像头输入模块

基于itop4412在Linux最小系统下的 RTP传输H264视频VLC播放

前面已经将 USB 摄像头采集的yuv(4:2:2)的视频通过 x264 编码库编码为 H264 文件,接下来我们就将编码出来的视频通过 RTP 协议以 UDP 的方式传送到 PC 用VLC 播放器播...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

基于H264-USB摄像头的RTP实时视频的传输

基于H264-USB摄像头的RTP实时视频的传输
  • beike1
  • beike1
  • 2017年06月24日 14:35
  • 575

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Linux下基于V4L2 USB Camera操作

转:http://www.openhw.org/module/forum/thread-586794-1-1.html  一直在做的视频流硬件加速工作基本结束, 最后验证的时候发现一个问题,为了计算...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于itop4412在Linux最小系统下的USB摄像头采集视频的H264编码
举报原因:
原因补充:

(最多只允许输入30个字)