ffplay对多媒体的支持能力验证

一、视频3gp 177X144 支持播放,在windows下播放正常,但是在linux下面偶有BUG 如果发现画面无法显示而声音可以播放的情况下可以试着切换全屏或者切换分辨率。

AVI 208X176 支持 320X240 支持 720X400 支持 720X576 支持

DAT 352X288 支持

DiVX 720X576 支持

MKV 320X240 支持352X288 支持 704X304 支持 720X576 支持

MP4 320X240 支持 352X288 支持 720X400 支持

MPG 320X240 支持 352X288 支持 480X576 支持 720X576 支持 720X480 支持

VOB 352X288 支持

XVID 720X576 支持

MOV 支持

RMVB 支持

二、音频

AC3 48KHZ 支持

APE 11KHZ 支持 22KHZ 支持 44KHZ 支持 48KHZ 支持

MP3 32KHZ 64Kbps 支持 32KHZ 128KbpS 支持 32KHZ 160Kbps 支持 32KHZ 192Kbps 支持 32KHZ 320Kbps 支持 44KHZ 64Kbps 支持 44KHZ 128Kbps 支持 44KHZ 160Kbps 支持 44KHZ 192Kbps 支持 44KHZ 320Kbps 支持 48KHZ 64Kbps 支持 48KHZ 128Kbps 支持 48KHZ 160Kbps 支持 48KHZ 192Kbps 支持 48KHZ 320Kbps 支持

OGG 32KHZ 128Kbps 支持 32KHZ 192Kbps 支持 44KHZ 64Kbps 支持44KHZ 128Kbps 支持 44KHZ 192Kbps 支持 48KHZ 64Kbps 支持 44KHZ 128Kbps 支持 44KHZ 192Kbps 支持

WAV 11KHZ 支持 22KHZ 16Kbps 支持 44KHZ 16Kbps 支持 48KHZ 16Kbps 支持

WMA 8KHZ 16Kbps 支持 11KHZ 16Kbps 支持 16KHZ 16Kbps 支持 22KHZ 16Kbps 支持 44KHZ 16Kbps 支持 48KHZ 16Kbps 支持

三、图像

PNG 支持

JPG 支持

JPEG 支持

GIF 支持

BMP 支持

2 FFmpeg格式转换

第一步:准备媒体前面已经讲的很清楚了,ffmpeg如何安装不在赘述。准备好相应的文件,如图2-1所示。

第二步:启动ffmpeg 由于做的是格式转换,在ffserver上不能直观的看见结果,故我是在linux下进行的。打开终端,值得一提的是格式转换需要超级用户才能进行,故在 命令行输入:su,<回车>,输入密码进入超级用户,本例中,以FFmpeg将test.avi转换为test.mpg。在命令行中输 入:./ffmpeg –i test.avi –r 25 –s 720x400 test.mpg<回车>。其中原格式分辨率为320x240,将转为720x400,-r前面已经解释其含义,表示设置帧频为25。转换成 功后如图2-2所示,前后两种格式播放效果如图2-3所示。相应的,转换为其他格式做相应的变化即可。同时还可以在转换格式时进行强制的音视频转换,如 –vcodec + 格式,将会强制将视频按指定格式编码,-acodec +格式,将会强制按指定格式编码音频信息。在转换中有很多其他参数可以指定,如码率、分辨率、帧率等,具体按照ffmpeg的参数说明指定参数即可。但有 一条转低不转高的原则需要注意,即品质差的音视频转换不建议转换到品质好的音视频。

再说说如何在转换视频的时候将音频合成到视频中,且覆盖其原来的音频。这个现在摸索出两种方法。

方法一:需要两条命令实现,先在命令行中输入: ./ffmpeg –i test.avi -an –r 25 test.mpg <回车> 此时将生成一个没有声音的test.mpg视频,再在命令行中输入: ./ffmpeg –i test.mpg –i test.mp3 –r 25 test1.mpg<回车> 此时将会生成一个名为test1.mpg的视频。该视频播放时视频为test.avi的视频,但音频变为了test.mp3的音频了。

方法二:只要一条指令即可实现。在命令行中输入: ./ffmpeg –i test.avi –i test.mp3 –vcodec copy –acodec copy –r 25 test2.mpg<回车> 此时将会生成一个名为test2.mpg的视频,播放时其视频为test.avi的视频,音频为test.mp3。–vcodec copy为force video codec(‘copy’ to copy stream)。有一点需要注意,文件命名不能有空格,否则会导致编译时不能通过。另外,-an为不能使音频记录。

第三步:播放媒体播放我们转换的媒体,看看是否满足我们当初的愿望,不出什么差错的话,是完全能够满足我们的要求的。

3 FFmpeg视频截图
截取一张300x200尺寸大小的格式为jpg的一张图片: ./ffmpeg –i test.avi –y –f image2 –t 0.001
–s 300x200 test.jpg 要截取指定时间的图片,如5秒之后的: ./ffmpeg –i test.avi –y –f image2
–ss 5 –t 0.001 –s 300x200 test.jpg 其中,-ss后的单位为秒,也可写成:-ss 00:00:05。
把视频的前30帧转换为一个动态的gif图。需要说明的是,转换成功之后,如果用ffplay播放是看不出效果的,建议换成其他图片播放器播放。其转换命
令为: ./ffmpeg –i test.avi –vframes 30 –pix_fmt rgb24–y –f gif test.gif
也可以从视频中的第10秒开始截取后面的5秒内容转换为一个无限重播的动态gif图。其命令为: ./ffmpeg –i test.avi
–pix_fmt rgb24 –ss 10 –t 5 –y –f gif test.gif
上面两种动态gif都是只播一次,想让其一直播,可再加一个参数:-loop_output
0。

4 FFmpeg屏幕录制
屏幕录制其命令为: ./ffmpeg -f x11grab -r 25 -s wxga -i :0.0 /tmp/outputFile.mpg
其他相关参数可自行添加。需要说明的是,各个版本的ffmpeg对屏幕录制的命令不一。如果你只想录制一个应用程序窗口或者桌面上的一个固定区域,那么可
以指定偏移位置和区域大小。使用xwininfo -frame命令可以完成查找上述参数。
注:ffmpeg的屏幕录制功能只能在Linux环境下有效。并且在配置时需要添加 –enable-x11grub 指令,默认关闭。

5 FFmpeg音视频采集
把摄像头的实时视频录制下来,存储为文件./ffmpeg -f video4linux -s 320x240 -r 10 -i
/dev/video0 test.asf 录音,其命令为: ./ffmpeg –i /dev/dsp -f oss test.mp3

[转载]FFmpeg完美入门[3] - FFmpeg功能及使用说明的更多相关文章

  1. [转载]FFmpeg完美入门[4] - FFmpeg应用实例

    1 用FFserver从文件生成流媒体 一.安装ffmpeg 在ubuntu下,运行sudo apt-get ffmpeg 安装ffmpeg,在其他linux操作系统下,见ffmpeg的编译过程(编译 ...

  2. [转载]FFmpeg完美入门[2] - FFmpeg参数说明

     1 通用选项 -L license -h 帮助 -fromats 显示可用的格式,编解码的,协议的. -f fmt 强迫采用格式fmt -i filename 输入文件 -y 覆盖输出文件 -t d ...

  3. [转载]FFmpeg完美入门[1] - FFmpeg介绍及安装

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

  4. FFmpeg从入门到出家(HEVC在RTMP中的扩展)

    由金山云视频云技术团队提供:FFmpeg从入门到出家第三季: 为推进HEVC视频编码格式在直播方案中的落地,经过CDN联盟讨论,并和主流云服务厂商达成一致,规范了HEVC在RTMP/FLV中的扩展,具 ...

  5. Windows下FFmpeg快速入门

    本系列文章导航 Windows下FFmpeg快速入门 ffmpeg参数解释 mencoder和ffmpeg参数详解(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进行视 ...

  6. Windows下FFmpeg高速入门

    本系列文章导航 Windows下FFmpeg高速入门 ffmpeg參数解释 mencoder和ffmpeg參数具体解释(Java处理视频) Java 生成视频缩略图(ffmpeg) 使用ffmpeg进 ...

  7. Windows下FFmpeg快速入门 <第二篇>

    FFmpeg简介 FFmpeg是什么? FFmpeg是用于录制.转换和流化音频和视频的完整解决方案, 包括 libavcodec ,一套领先的音/视频编解码类库.FFmpeg 在Linux上开发,当可 ...

  8. FFmpeg 学习(七):FFmpeg 学习整理总结

    一.FFmpeg 播放视频的基本流程整理 播放流程: video.avi(Container) -> 打开得到 Video_Stream -> 读取Packet -> 解析到 Fra ...

  9. ffmpeg学习笔记-初识ffmpeg

    ffmpeg用来对音视频进行处理,那么在使用ffmpeg前就需要ffmpeg有一个大概的了解,这里使用雷神的ppt素材进行整理,以便于复习 音视频基础知识 视频播放器的原理 播放视频的流程大致如下: ...

随机推荐

  1. 【JavaScript】20款漂亮的css字体

    样式一: body { margin: 0; padding: 0; line-height: 1.5em; font-family: "Times New Roman", Tim ...

  2. Spring Boot系列教程六:日志输出配置log4j2

    一.前言  spring boot支持的日志框架有,logback,Log4j2,Log4j和Java Util  Logging,默认使用的是logback日志框架,笔者一直在使用log4j2,并且 ...

  3. Codeforces710

    [未完待续] A The only king stands on the standard chess board. You are given his position in format &quo ...

  4. 【BZOJ2432】【NOI2011】兔农(数论,矩阵快速幂)

    [BZOJ2432][NOI2011]兔农(数论,矩阵快速幂) 题面 BZOJ 题解 这题\(75\)分就是送的,我什么都不想写. 先手玩一下,发现每次每次出现\(mod\ K=1\)的数之后 把它减 ...

  5. BZOJ1367 [Baltic2004]sequence 【左偏树】

    题目链接 BZOJ1367 题解 又是一道神题,, 我们考虑一些简单的情况: 我们先假设\(b_i\)单调不降,而不是递增 对于递增序列\(\{a_i\}\),显然答案\(\{b_i\}\)满足\(b ...

  6. 洛谷 P1715 [USACO16DEC]Lots of Triangles好多三角形 解题报告

    P1715 [USACO16DEC]Lots of Triangles好多三角形 题目描述 农民约翰希望通过卖出他拥有的一部分土地来增加收入.他在这片土地上种了\(N\)棵树(\(3\le N\le ...

  7. linux内核分析 第三周 构造一个简单的Linux系统MenuOS

    一.计算机的三个法宝 存储程序计算机,函数调用堆栈,中断二.操作系统的两把剑:1.中断上下文的切换,保存现场和恢复现场2.进程上下文的切换. 三.linux内核源代码的分析: ·arch/目录保存支持 ...

  8. Yarn 模式 与 电影受众分析系统

    yarn模式分为两种模式: 一.Yarn-cluster模式 1.通过spark-submit提交spark jar包(Application),与RM进行通信请求启动AM 2.RM接收到请求之后,会 ...

  9. django 自定义认证

    在Django中自定义身份验证 Django 自带的认证系统足够应付大多数情况,但你或许不打算使用现成的认证系统.定制自己的项目的权限系统需要了解哪些一些关键点,即Django中哪些部分是能够扩展或替 ...

  10. java中的null和""区别------&&与&的区别

    (1)问题一:null和""的区别String s=null;string.trim()就会抛出为空的exception String s=""; string ...