/*************************************************************************
* 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. 【BZOJ3168】[Heoi2013]钙铁锌硒维生素 高斯消元求矩阵的逆+匈牙利算法

    [BZOJ3168][Heoi2013]钙铁锌硒维生素 Description 银河队选手名单出来了!小林,作为特聘的营养师,将负责银河队选手参加宇宙比赛的饮食.众所周知,前往宇宙的某个星球,通常要花 ...

  2. 爬虫入门【7】Python-文件的读写和JSON

    文本文档的读写 最重要的open()方法将返回一个file对象,经常使用的两个参数为open(filename,mode) 其中,filename为file保存的地址,可以是本地地址,相对地址或者绝对 ...

  3. OpenCV玩耍(一)批量resize一个文件夹里的所有图像

    鉴于用caffe做实验的时候,里面牵扯到一个问题是必须将训练集和测试集都转成256*256的图像,而官网给出的代码又不会用,所以我用opencv转了.其实opencv只转一幅图会很简单,关键在于“批量 ...

  4. 记录-阿里云Oss文件上传

    public class OssUtil { /** * 上传图片 * @param file * @param request * @return */ public static Map<S ...

  5. 九度OJ 1261:寻找峰值点 (基础题)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:500 解决:37 题目描述: 给定一个整数序列,该整数序列存在着这几种可能:先递增后递减.先递减后递增.全递减.全递增. 请找出那个最大值的 ...

  6. iostat命令简单使用

    1.iostat使用范围 iostat命令可以生成3种类型的报告: (1)CPU使用情况的报告 (2)设备使用情况的报告 (3)网络文件系统(NFS)使用情况的报告 2.每种报告的格式说明 关于CPU ...

  7. 页游手游服务器(二)c支持mysql

    上一篇说的是liua的net拓展,这一篇说lua的sql拓展,准确说是mysql拓展,这里推荐下postgre,比mysql好用,支持数组,各种好,不过腾讯平台不支持,所以你的公司要和腾讯合作,掂量下 ...

  8. 了解CentOS服务器的基本信息

    简单描述了如何从CPU.内存.硬盘性能.负载方面去了解自己工作的服务器性能.这个很重要,必须了解机器的方方面面才能提高在自己运维工作效率. 一.查看linux服务器cpu详情 查看物理cpu个数: [ ...

  9. 2014阿里实习生面试题——MySQL如何实现索引的

    这是2014阿里实习生北京站二面的一道试题: 在MySQL中,索引属于存储引擎级别的概念,不同存储引擎对索引的实现方式是不同的,比如MyISAM和InnoDB存储引擎. MyISAM索引实现: MyI ...

  10. dig指定服务器查询域名解析时间

    time=$(dig @8.8.8.8 baidu.com | grep Query | awk '{print $4}') echo $time 一 nslookup指定服务器查询域名解析时间 ro ...