/*************************************************************************
* I.MX6 FFmpeg 录制视频
* 说明:
* 通过FFmpeg录制视频是很正常的事,测试一下。
*
* 2017-2-10 深圳 南山平山村 曾剑锋
************************************************************************/ 一、 参考文档:
. FFmpeg 录制桌面、麦克风、摄像头
http://blog.csdn.net/candcplusplus/article/details/53955012 二、测试命令:
ffmpeg -f video4linux2 -t -i /dev/video1 -vcodec libx264 -f mp4 test1.mp4 三、视频录制信息:
# ffmpeg -f video4linux2 -t -i /dev/video1 -vcodec libx264 -f mp4 test1.mp4
ffmpeg version 3.2 Copyright (c) - the FFmpeg developers
built with gcc 4.8. (Sourcery CodeBench Lite 2014.05-) (prerelease)
configuration: --enable-cross-compile --cross-prefix=/home/aplex/tinyfs/buildroot-2016.11./output/host/usr/bin/arm-none-linux-gnueabi- --sysroot=/home/aplex/tinyfs/buildroot-2016.11./output/host/usr/arm-buildroot-linux-gnueabi/sysroot --host-cc=/usr/bin/gcc --arch=arm --target-os=linux --disable-stripping --pkg-config=/home/aplex/tinyfs/buildroot-2016.11./output/host/usr/bin/pkg-config --disable-static --enable-shared --prefix=/usr --enable-avfilter --disable-version3 --enable-logging --enable-optimizations --disable-extra-warnings --enable-avdevice --enable-avcodec --enable-avformat --disable-x11grab --enable-network --disable-gray --enable-swscale-alpha --enable-filter=scale --disable-small --enable-dct --enable-fft --enable-mdct --enable-rdft --disable-crystalhd --disable-dxva2 --enable-runtime-cpudetect --disable-hardcoded-tables --disable-memalign-hack --disable-mipsdsp --disable-mipsdspr2 --disable-msa --enable-hwaccels --disable-avisynth --disable-frei0r --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-libcdio --disable-libdc1394 --disable-libgsm --disable-libilbc --disable-libnut --disable-libopenjpeg --disable-libschroedinger --disable-libvo-amrwbenc --disable-symver --disable-doc --enable-gpl --disable-nonfree --enable-ffmpeg --enable-ffplay --enable-ffserver --disable-avresample --disable-ffprobe --enable-postproc --enable-swscale --enable-indevs --enable-outdevs --enable-pthreads --enable-zlib --enable-bzlib --disable-libfdk-aac --disable-gnutls --disable-openssl --disable-libopenh264 --disable-vaapi --disable-vdpau --disable-libopencv --disable-libopus --disable-libvpx --disable-libass --disable-libbluray --disable-librtmp --disable-libmp3lame --disable-libmodplug --disable-libspeex --disable-libtheora --disable-libwavpack --enable-libfreetype --disable-fontconfig --enable-libx264 --enable-libx265 --disable-yasm --disable-mmx --disable-sse --disable-sse2 --disable-sse3 --disable-ssse3 --disable-sse4 --disable-sse42 --disable-avx --disable-avx2 --enable-armv6 --disable-vfp --disable-neon --disable-altivec --enable-pic --cpu=cortex-a9
libavutil . 34.100 / . 34.100
libavcodec . 64.100 / . 64.100
libavformat . 56.100 / . 56.100
libavdevice . 1.100 / . 1.100
libavfilter . 65.100 / . 65.100
libswscale . 2.100 / . 2.100
libswresample . 3.100 / . 3.100
libpostproc . 1.100 / . 1.100
Input #, video4linux2,v4l2, from '/dev/video1':
Duration: N/A, start: 1190.523607, bitrate: kb/s
Stream #:: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, kb/s, fps, tbr, 1000k tbn, 1000k tbc
File 'test1.mp4' already exists. Overwrite ? [y/N] y
No pixel format specified, yuv422p for H. encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x4c450] using cpu capabilities: ARMv6 NEON
[libx264 @ 0x4c450] profile High ::, level 3.0, :: -bit
[libx264 @ 0x4c450] - core - H./MPEG- AVC codec - Copyleft - - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #, mp4, to 'test1.mp4':
Metadata:
encoder : Lavf57.56.100
Stream #:: Video: h264 (libx264) ([][][][] / 0x0021), yuv422p, 640x480, q=---, fps, tbn, tbc
Metadata:
encoder : Lavc57.64.100 libx264
Side data:
cpb: bitrate max/min/avg: // buffer size: vbv_delay: -
Stream mapping:
Stream #: -> #: (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
frame= fps= q=29.0 size= 121kB time=::00.96 bitrate=.8kbits/frame= fps= q=29.0 size= 122kB time=::01.13 bitrate= .9kbits/frame= fps= q=29.0 size= 123kB time=::01.36 bitrate= .4kbits/frame= fps= q=29.0 size= 124kB time=::01.63 bitrate= .4kbits/frame= fps= q=29.0 size= 124kB time=::01.80 bitrate= .0kbits/frame= fps= q=29.0 size= 219kB time=::07.06 bitrate= .1kbits/frame= fps= q=29.0 size= 219kB time=::07.20 bitrate= .7kbits/frame= fps= q=29.0 size= 220kB time=::07.60 bitrate= .2kbits/frame= fps= q=29.0 size= 220kB time=::07.76 bitrate= .4kbits/frame= fps= q=29.0 size= 221kB time=::07.93 bitrate= .8kbits/frame= fps= q=29.0 size= 246kB time=::08.30 bitrate= .5kbits/frame= fps= q=29.0 size= 246kB time=::08.60 bitrate= .6kbits/frame= fps=9.6 q=-1.0 Lsize= 451kB time=::10.30 bitrate= .4kbits/s dup= drop= speed=.319x
video:446kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.000611%
[libx264 @ 0x4c450] frame I: Avg QP:25.07 size:
[libx264 @ 0x4c450] frame P: Avg QP:18.96 size:
[libx264 @ 0x4c450] frame B: Avg QP:27.88 size:
[libx264 @ 0x4c450] consecutive B-frames: 1.6% 1.3% 1.0% 96.2%
[libx264 @ 0x4c450] mb I I16..: 23.5% 52.4% 24.1%
[libx264 @ 0x4c450] mb P I16..: 1.9% 3.5% 0.7% P16..: 17.1% 2.9% 2.5% 0.0% 0.0% skip:71.4%
[libx264 @ 0x4c450] mb B I16..: 0.0% 0.1% 0.0% B16..: 10.4% 0.6% 0.1% direct: 1.2% skip:87.5% L0:40.9% L1:56.1% BI: 3.1%
[libx264 @ 0x4c450] 8x8 transform intra:55.4% inter:83.9%
[libx264 @ 0x4c450] coded y,uvDC,uvAC intra: 48.3% 88.0% 59.2% inter: 2.4% 9.2% 2.3%
[libx264 @ 0x4c450] i16 v,h,dc,p: % % % %
[libx264 @ 0x4c450] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: % % % % % % % % %
[libx264 @ 0x4c450] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: % % % % % % % % %
[libx264 @ 0x4c450] i8c dc,h,v,p: % % % %
[libx264 @ 0x4c450] Weighted P-Frames: Y:2.5% UV:1.3%
[libx264 @ 0x4c450] ref P L0: 56.2% 11.0% 24.4% 7.7% 0.6%
[libx264 @ 0x4c450] ref B L0: 75.6% 21.6% 2.8%
[libx264 @ 0x4c450] ref B L1: 91.8% 8.2%
[libx264 @ 0x4c450] kb/s:350.88
# ls
test1.mp4
#

I.MX6 FFmpeg 录制视频的更多相关文章

  1. 实例:通过调用外部程序进行录制视频(ffmpeg.exe)

    相关知识点: 1. ffmpeg可以用下面的参数来录制Windows 桌面操作的视频. ffmpeg.exe -y -rtbufsize 100M -f gdigrab -framerate 10 - ...

  2. ffmpeg命令 从网络摄像头录制视频

    安装 sudo apt-get install ffmpeg 录制视频为record.mp4文件 ffmpeg -y -i rtsp://cameral_ip:port -vcodec copy -a ...

  3. ffmpeg为视频添加时间戳 - 手动编译ffmpeg

    FFMPEG给视频加时间戳水印 项目中需要给视频添加时间戳,理所当然最好用的办法是ffmpeg.在找到正确的做法前,还被网上的答案timecode给水了一下(水的不轻,在这里转了2天),大概是这样写的 ...

  4. Android手机录制视频 实时传输(转载)

    最近调研android视频录制.另一部手机实时观看,大致有以下几种思路. 1. android手机充当服务器,使用NanoHTTPD充当服务器,另一部手机或者pc通过输入http://手机的ip:80 ...

  5. 在Ubuntu上录制视频和编辑(很全)

    Linux多媒体三剑客:GIMP,Inkscape,Blender3D Blender基金会制作的开源微电影Sintel:http://www.sintel.org/about电影采用Creative ...

  6. NET 2.0(C#)调用ffmpeg处理视频的方法

    另外:ffmpeg的net封装库 http://www.intuitive.sk/fflib/ NET 2.0 调用FFMPEG,并异步读取输出信息的代码...public void ConvertV ...

  7. javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV)

    javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG.j ...

  8. python+ffmpeg切割视频

    什么是ffmpeg 1.1 简介 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视频的完整解决方案.它包 ...

  9. Java Web 中使用ffmpeg实现视频转码、视频截图

    Java Web 中使用ffmpeg实现视频转码.视频截图 转载自:[ http://www.cnblogs.com/dennisit/archive/2013/02/16/2913287.html  ...

随机推荐

  1. python第三方库地址

    python第三方库的地址: requests: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html beautifus ...

  2. python pymysql安装

    ==================pymysql=================== 由于 MySQLdb 模块还不支持 Python3.x,所以 Python3.x 如果想连接MySQL需要安装 ...

  3. Lumen开发:phpunit单元测试

    先来直接运行,cmd先进入根目录,然后进入tests或是test文件夹 运行命令行:..\vendor\bin\phpunit ExampleTest.php laravel/lumen中集成了PHP ...

  4. Razor里写函数

    asp.net mvc的视图里使用Razor来书写服务器代码,人尽皆知.可以常常见到里面写上for循环语句,输出一大堆东东,牛逼得很. 可是,如果循环语句还不能满足我们的要求,需要定义一个函数来调用, ...

  5. android菜鸟学习笔记24----与服务器端交互(一)使用HttpURLConnection和HttpClient请求服务端数据

    主要是基于HTTP协议与服务端进行交互. 涉及到的类和接口有:URL.HttpURLConnection.HttpClient等 URL: 使用一个String类型的url构造一个URL对象,如: U ...

  6. l如何把SQLServer表数据导出CSV文件,并带列名

    http://jingyan.baidu.com/article/4b07be3c466b5d48b280f37f.html 微信公众号:

  7. [转载]Hibernate如何提升数据库查询的性能

    目录(?)[-] 数据库查询性能的提升也是涉及到开发中的各个阶段在开发中选用正确的查询方法无疑是最基础也最简单的 SQL语句的优化 使用正确的查询方法 使用正确的抓取策略 Hibernate的性能优化 ...

  8. linux 9 -- 交互式使用Bash Shell

    二十二. 交互式使用Bash Shell:     1.  用set命令设置bash的选项:     下面为set主要选项的列表及其表述: 选项名 开关缩写 描述 allexport -a 打开此开关 ...

  9. Gateway

    网关在传输层上以实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连.网关的结构也和路由器类似,不同的是互连层.网关既可以用于广域网互连,也可以用于局域网互连. 网关是一种充当转换重 ...

  10. java 泛型的简单使用

    effecttive java一直推荐使用泛型,简单的看了一下泛型的使用 package cn.com.fzk; import java.util.ArrayList; import java.uti ...