本文介绍: FFmpeg一套可以用来记录转换数字音频视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。FFmpeg在Linux平台开发,但它同样也可以在其它操作系统环境编译运行,包括Windows、Mac OS X等。

1.FFmpeg简介

FFmpeg一套可以用来记录转换数字音频、视频,并能将其转化为流的开源计算程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。它包含了非常先进的音频/视频编解码库libavcodec,为了保证高可移植性和编解码质量,libavcodec里很多code都是从头开发的。

FFmpeg在Linux平台下开发,但它同样也可以在其它操作系统环境编译运行,包括Windows、Mac OS X等。这个项目最早由Fabrice Bellard发起,2004年至2015年间由Michael Niedermayer主要负责维护。许多FFmpeg开发人员都来自MPlayer项目,而且当前FFmpeg也是放在MPlayer项目组的服务器上。项目的名称来自MPEG视频编码标准,前面的”FF”代表”Fast Forward“。

ffmpeg官网地址是:https://www.ffmpeg.org/

ffmpeg的Github项目地址是:FFmpeg/FFmpeg

2.组成

构成FFmpeg主要有三个部分,

第一部分是四个作用不同的工具软件,分别是:ffmpeg.exeffplay.exe,ffserver.exe和ffprobe.exe。

ffmpeg.exe音视频转码、转换器

ffplay.exe简单音视频播放器

ffserver.exe:流媒体服务器

ffprobe.exe简单多媒体码流分析

第二部分是可以供开发者使用的SDK,为各个不同平台编译完成的库。如果说上面的四个工具软件都是完整成品形式的玩具,那么这些库就相当于乐高积木一样,我们可以根据自己的需求使用这些库开发自己的应用程序。这些库有:

libavcodec:包含音视频编码器解码器

libavutil:包含多媒体应用常用的简化编程工具,如随机数生成器数据结构、数学函数功能

libavformat:包含多种多媒体容器格式封装、解封装工具

libavfilter:包含多媒体处理常用的滤镜功能

libavdevice用于音视频数据采集渲染等功能的设备相关

libswscale用于图像缩放和色彩空间像素格式转换功能

libswresample用于音频采样和格式转换等功能

第三部分是整个工程源代码,无论是编译出来的可执行程序还是SDK,都是由这些源代码编译出来的。FFmpeg源代码由C语言实现,主要在Linux平台上进行开发FFmpeg不是一个孤立的工程,它还存在多个依赖第三方工程来增强它自身的功能。在当前这一系列的博文/视频中,我们暂时不会涉及太多源代码相关的内容,主要以FFmpeg工具和SDK的调用为主。

下载&安装 (Windows版本

下载好的static版本,解压到C:ffmpeg

添加环境变量win10):右键 我的电脑 ——》属性——》高级系统设置——》环境变量添加路径 C:ffmpegbin

命令窗口输入ffmpegversion 命令,证明安装成功

命令行的使用

ffmpeg.exe

用于转码的应用程序:

一个简单的转码命令input.avi转码成output.ts,并设置视频的码率为640kbps

ffmpeg -i input.avi -b:v 640k output.ts  

具体用法参考: https://blog.csdn.net/leixiaohua1020/article/details/12751349
详细的使用说明(英文):http://ffmpeg.org/ffmpeg.html

ffplay.exe

主要用于播放的应用程序

播放test.avi

ffplay test.avi  

具体的使用方法可以参考:ffplay的快捷键以及选项_雷霄骅(leixiaohua1020)的专栏-CSDN博客

详细的使用说明(英文):ffplay Documentation

ffprobe.exe

ffprobe是用于查看文件格式的应用程序

详细的使用说明(英文):ffprobe Documentation

原文链接
FFmpeg — 1.简单介绍及使用

技术交流群:【960994558】整理了一些个人觉得比较好的学习书籍大厂面试题、和热门技术教学视频资料共享在里面(包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等等.),有需要的可以自行添加哦!~

原文地址:https://blog.csdn.net/weixin_46151516/article/details/134677455

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_5867.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

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