FFmpeg 的使用与Docker安装流媒体服务器

本文阐述的均为命令行的使用方式,并不牵扯FFmpeg 的 C++音视频开发内容,补充一句,C++的资料真的少,能把C++学好的人,我真的是觉得巨佬。

我主要是使用FFmpeg 推流方面的知识,案例大都是靠近这方面。

一、FFmpeg 介绍

本文读者会比较小众~ 看到此文的朋友,大概率是需要用到FFmpeg啦,简单说一下下。
就算是从来没接触过的朋友,其实也已经在生活的各个方面都接触过FFmpeg处理完东西(音视频)。
一句话来总结:FFmpeg 就是一款封装好的关于音视频方面的开源处理工具。

它功能强大,用途广泛,大量用于视频网站和商业软件(比如 Youtube 和 iTunes),也是许多音频和视频格式的标准编码/解码实现。

如果有接触过 gstreamer (另外一个音视频处理框架),它的也有使用到 FFmpeg 的编码器。

二、FFmpeg 安装

sudo apt-get install ffmpeg

ffmpeg --help

安装就一会的事情,主要还是要看怎么使用。

三、FFmpeg 使用

FFmpeg 的命令行参数分布大致如下:

ffmpeg \
[全局参数] \
[输入文件参数] \
-i [输入文件] \
[输出文件参数] \
[输出文件]

下面是一个例子。

ffmpeg \
-y \ # 全局参数
-c:a libfdk_aac -c:v libx264 \ # 输入文件参数
-i input.mp4 \ # 输入文件
-c:v libvpx-vp9 -c:a libvorbis \ # 输出文件参数
output.avi # 输出文件

上面的命令将 mp4 文件转成 webm 文件,这两个都是容器格式。输入的 mp4 文件的音频编码格式是 aac,视频编码格式是 H.264;输出的 webm 文件的视频编码格式是 VP9,音频格式是 Vorbis。
如果不指明编码格式,FFmpeg 会自己判断输入文件的编码。因此,上面的命令可以简单写成下面的样子。
 

ffmpeg -i input.avi output.mp4

四、FFmpeg 常见案例

本章节只是简单的介绍了如何使用,并且解释啦常用的参数,如果需要更详细全面的参数解释,可以查看FFmpeg官方文档

封包格式(format、视频格式)、编码、解码、帧率

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用 Docker 搭建流媒体服务器,你可以按照以下步骤进行操作: 1. 安装 Docker:根据你的操作系统,在 Docker 官方网站(https://www.docker.com)上下载并安装适合你的 Docker 版本。 2. 确定你要使用流媒体服务器软件。一些常见的选择包括 Nginx-rtmp-module、FFmpeg、Flussonic、Wowza Streaming Engine 等。在 Docker Hub(https://hub.docker.com)上搜索你所选择的软件,找到对应的镜像。 3. 执行以下命令拉取流媒体服务器镜像: ``` docker pull <镜像名称>:<标签> ``` 其中,`<镜像名称>` 是你所选择的流媒体服务器软件对应的镜像名称,`<标签>` 是版本或标识符。 4. 创建并运行 Docker 容器: ``` docker run -d --name <容器名称> -p <宿主机端口>:<容器端口> <镜像名称>:<标签> ``` 其中,`<容器名称>` 是你为容器指定的名称,`<宿主机端口>` 是你希望流媒体服务器服务在宿主机上监听的端口号,`<容器端口>` 是流媒体服务器容器内部实际运行的端口号。 5. 根据流媒体服务器软件的要求和配置方式,进行进一步的配置。你可以通过访问容器 IP 地址和端口,或者在容器内部执行命令来完成配置。 6. 测试流媒体服务器使用支持流媒体协议(如 RTMP、HLS)的客户端或播放器,连接到流媒体服务器并进行推流或观看。 请注意,具体的配置步骤和命令可能因所选择的流媒体服务器软件而有所不同。建议查阅对应软件的官方文档或镜像的说明,以了解更详细的配置和使用方法。此外,确保你的网络设置和端口映射是正确的,并且具备足够的带宽和资源来支持流媒体传输。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值