/*************************************************************************
* 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. 自定义cginc文件

    首先定义一个cginc文件如下所示: #ifndef MY_CG_INCLUDE #define MY_CG_INCLUDE struct appdata_x { float4 vertex : PO ...

  2. PHP-Manual的学习----【语言参考】----【类型】

    2017年7月17日15:18:02      该看Boolean 布尔类型1.PHP 支持 8 种原始数据类型. 2.四种标量类型: ◦ boolean(布尔型)  ◦ integer(整型)  ◦ ...

  3. python tensorflow 学习

    Tensorflow系列——Saver的用法:http://blog.csdn.net/u011500062/article/details/51728830 Tensorflow学习系列(二): t ...

  4. Jmeter + Ant + Jenkins 接口/性能测试,持续集成环境搭建

    1. 安装Jmeter.jdk Jmeter 3.3版本 :<http://note.youdao.com/noteshare?id=5e3fd287db24d08386207a7de22d26 ...

  5. 【BZOJ1513】[POI2006]Tet-Tetris 3D 二维线段树

    [BZOJ1513][POI2006]Tet-Tetris 3D Description Task: Tetris 3D "Tetris" 游戏的作者决定做一个新的游戏, 一个三维 ...

  6. 使用tomcat7-maven-plugin部署Web项目

      一.环境准备 我使用的环境是:Window 10.Tomcat 8.0.36.maven3.tomcat7-maven-plugin 2.2版本. 二.设置环境变量 安装Tomcat8.0.36和 ...

  7. jQuery-Ajax-Timeout属性不生效的问题

    async必须设置为async:ture,timeout才生效: 如果设置为async:false,则锁住浏览器,禁止一切操作,直到请求有返回结果.

  8. android 中使用svg

    http://www.see-source.com/blog/300000038/1189.html http://www.jianshu.com/p/30dfa5920658#

  9. (转)RequireJS shim 用法说明

    RequireJS中如果使用AMD规范,在使用的过程中没有太多的问题,如果加载非AMD规范的JS文件,就需要使用Require中的shim. require.config({ paths:{ jque ...

  10. 有关numpy.random下的API具体含义

    1.numpy.random.random(size=None) Return random floats in the half-open interval [0.0, 1.0). 返回size大小 ...