FFmpeg从入门到精通笔记之二

FFmpeg从入门到精通笔记之二FFmpeg中常用的工具主要是ffmpeg、ffprobe、ffplay,它们分别用作多媒体的编解码工具、内容分析工具和播放器。ffmpeg常用命令ffmpeg的封装转换。ffmpeg的封装转换(转封装)功能包含在AVFormat模块中,通过libavformat库进行Mux和Demux操作.  *多媒体文件的格式有很多种,这些格式中的很多参数在Mux与Demux的操作参数中是公用的,…

大家好,又见面了,我是你们的朋友全栈君。

FFmpeg中常用的工具主要是ffmpeg、ffprobe、ffplay,它们分别用作多媒体的编解码工具、内容分析工具和播放器。

ffmpeg常用命令

  • ffmpeg的封装转换。ffmpeg的封装转换(转封装)功能包含在AVFormat模块中,通过libavformat库进行Mux和Demux操作.
       * 多媒体文件的格式有很多种,这些格式中的很多参数在Mux与Demux的操作参数中是公用的,可以通过ffmpeg–help full信息,找到AVFormatContext参数部分,该参数下的所有参数均为封装转换可使用的参数。
  • ffmpeg的转码参数。ffmpeg编解码部分的功能主要是通过模块AVCodec来完成的 ,通过libavcodec库进行Encode与Decode操作。
       * 多媒体编码格式的种类很多,但是还是有很多通用的基本操作参数设置。通过命令ffmpeg–help full可以看到AVCodecContext参数列表信息,该选项下面的所有参数均为编解码可以使用的参数。
  • ffmpeg的基本转码原理。ffmpeg工具的主要用途为编码、解码、转码以及媒体格式转换,ffmpeg常用于进行转码操作。可以设置转码的相关参数,如果转码操作涉及封装的改变,则可以通过设置AVCodec与AVFormat的操作参数进行封装与编码的改变。

ffprobe常用命令

  • ffprobe多媒体信息查看工具(ffmpeg多媒体信息处理工具)。可以通过ffprobe–help来查看详细的帮助信息。例如查看每一个音频数据包信息或者视频数据包信息,查看节目信息,查看流信息,查看每一个流有多少帧以及每一个流有多少个音视频包,查看视频像素点的格式等。

ffplay常用命令

  • 在FFmpeg中通常使用ffplay作为播放器,其实ffplay同样也可以作为很多音视频数据的图形化分析工具,通过ffplay可以看到视频图像的运动估计方向、音频数据的波形等。
  • ffplay不仅仅是播放器,同时也是测试ffmpeg的codec引擎、format引擎,以及filter引擎的工具,并且还可以进行可视化的媒体参数分析。通过ffplay–help进行查看。
  • 如果希望使用ffpaly打开网络直播流,则可以使用这个命令:ffplay -window_title “播放测试” rtmp://up.v.test.com/live/stream
  • 如果使用ffplay播放视频时希望加载字幕文件,则可以通过加载ASS或者SRT字幕文件来解决。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/153350.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • linux修给主机名

    linux修给主机名linux修给主机名

    2022年4月24日
    37
  • java set 排序的_Set集合排序

    java set 排序的_Set集合排序TreeSet使用元素的自然顺序对元素进行排序,或者根据创建set时提供的Comparator进行排序,具体取决于使用的构造方法。通俗一点来说,就是可以按照排序后的列表显示,也可以按照指定的规则排序。Setset=newTreeSet();set.add(“f”);set.add(“a”);set.add(“b”);set.add(“c”);set.add(“d”);set.add(“e”…

    2022年5月26日
    42
  • java进程间通信的方式_关闭所有java进程

    java进程间通信的方式_关闭所有java进程进程间通信又称IPC(Inter-ProcessCommunication),指多个进程之间相互通信,交换信息的方法。根据进程通信时信息量大小的不同,可以将进程通信划分为两大类型:1、低级通信,控制信息的通信(主要用于进程之间的同步,互斥,终止和挂起等等控制信息的传递)。2、高级通信,大批数据信息的通信(主要用于进程间数据块数据的交换和共享,常见的高级通信有管道,消息队列,共享内存等)。进程间…

    2022年10月11日
    3
  • git clone出现 fatal: unable to access ‘https://github.com/…’的解决办法(亲测有效)

    git clone出现 fatal: unable to access ‘https://github.com/…’的解决办法(亲测有效)如下图所示,当我试图克隆别人的repo时,会发生这样的错误,当我从git:/而不是https://,克隆时,它工作得很好。发生这种情况是因为代理是在git中配置的。既然它是https代理(而不是http)gitconfighttp.proxy和gitconfig–globalhttp.proxy也无济于事。解决方案一1、看看你的git配置gitconfig…

    2022年7月21日
    30
  • 1024是程序员的什么节日(重阳节的时候干什么)

    1024程序员节1024程序员节是广大程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。针对程序员经常周末加班与工作日熬夜的情况,部分互联网机构倡议每年的10月24日为1024程序员节,在这一天建议程序员拒绝加班。程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1G=1024M,而1G与1级谐音,也有一级棒的意思。1、节日背景程序员(英文Programmer)是从事前端、后端程序开发、系统运维、测试等的专业人员。一般将程序员分为程序设计人员和程序.

    2022年4月12日
    59
  • Java基础篇:反射机制详解

    Java基础篇:反射机制详解

    2021年4月10日
    164

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号