docker安装部署ffmpeg——(持续更新中)

本文详细介绍如何通过Docker快速部署FFmpeg,实现视频转码功能。从下载镜像到运行容器,再到视频流的循环推流,每一步都提供具体命令及操作指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

系统版本:Centos7

搭建ffmpeg

视频转码的工具可能有很多,但开源且使用人数最多的还是莫过于ffmpeg这个工具,具体功能笔者不在这里详细讲解;安装此工具的方式有很多,比如apt安装、源码安装、docker安装等等,不过docker是跨平台的,因此笔者这里将以docker方式安装为例
下载镜像:

docker pull jrottenberg/ffmpeg

当容器下载完毕之后,可以用一些命令进行验证是否能够正常运行,如下参考命令

docker run jrottenberg/ffmpeg

FFmpeg所支持的输入输出协议非常多,比如可以选择file协议作为来源,使用hls协议作为输出结果,具体所支持的协议可以通过如下命令查看

docker run jrottenberg/ffmpeg -protocols

创建并运行容器

docker run -it --name app_ffmpeg -p 8080:8080 -v /home/app_ffmpeg/:/mnt/app/ --entrypoint=‘bash’ jrottenberg/ffmpeg

docker ps -a #查询创建的容器进入容器
docker attach 44fc0f0582d9 #进入容器

把文件目录导入到docker容器目录中 :/tmp/workdir——容器名称

docker cp /usr/video/sss.mp4 :/tmp/workdir

循环推流

ffmpeg -re -stream_loop -1 -i 2minTransformers6281_trailer1080p.flv -vcodec copy -acodec copy -f flv rtmp://192.168.31.9:1935/live/test1

vlc访问地址就可以播放推流的视频了

rtmp://192.168.31.9:1935/live/test1

### Docker 中声纹识别的应用实现与部署 #### 容器化环境准备 为了确保声纹识别系统的高效运行,建议采用Docker作为开发和部署平台。Docker提供了一种轻量级的操作系统级虚拟化方法,使得应用程序可以在任何环境中保持一致性[^2]。 #### 构建声纹识别镜像 创建一个`Dockerfile`来定义所需的软件包和其他配置项: ```dockerfile FROM nvidia/cuda:10.1-cudnn7-devel-ubuntu18.04 AS build-env RUN apt-get update && \ apt-get install -y --no-install-recommends \ python3-pip \ git \ sox \ ffmpeg \ libasound2-dev \ portaudio19-dev \ swig \ wget \ unzip \ vim \ curl \ ca-certificates \ bzip2 \ libsm6 \ libxext6 \ libxrender-dev \ && rm -rf /var/lib/apt/lists/* WORKDIR /workspace/ COPY requirements.txt . RUN pip3 install --upgrade pip setuptools wheel && \ pip3 install -r requirements.txt # Clone the PaddleSpeech repository and setup environment. RUN git clone https://github.com/PaddlePaddle/PaddleSpeech.git ./ RUN cd PaddleSpeech/ && bash install.sh CMD ["bash"] ``` 此文件指定了基于CUDA的基础映像,并安装了必要的依赖库以及克隆并设置了[PaddleSpeech](https://github.com/PaddlePaddle/PaddleSpeech),这是一个支持多种语音处理功能(包括但不限于声纹识别)的强大框架[^3]。 #### 编写启动脚本和服务接口 编写Python脚本来加载预训练好的声纹识别模型,并通过RESTful API的形式对外提供服务。可以利用Flask或其他Web框架快速搭建起HTTP服务器端点。 ```python from flask import Flask, request, jsonify import paddle from paddlespeech.sv.models.lstm_speaker_verification import LSTMSpeakerVerificationModel app = Flask(__name__) model_path = 'path/to/pretrained/model' sv_model = LSTMSpeakerVerificationModel.from_pretrained(model_path) @app.route('/verify', methods=['POST']) def verify(): audio_data = request.files['audio'].read() result = sv_model.verify(audio_data) return jsonify({'result': result}) if __name__ == '__main__': app.run(host='0.0.0.0') ``` 这段代码展示了如何初始化LSTM结构的声纹验证模型实例,并设置了一个简单的API路由用于接收音频输入并返回匹配度分数。 #### 打包发布 完成上述工作之后,就可以构建最终的Docker镜像并通过命令行推送至仓库供其他开发者拉取使用: ```shell $ docker build -t my-sv-app . $ docker tag my-sv-app registry.example.com/my-sv-app:v1.0.0 $ docker push registry.example.com/my-sv-app:v1.0.0 ``` 这样就完成了整个过程——从本地测试到远程部署的一站式解决方案。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值