欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Docker版FFmpeg安裝部署的詳細(xì)步驟

 更新時(shí)間:2023年10月09日 09:30:20   作者:十年磨一劍2020  
項(xiàng)目組開發(fā)過程用因?yàn)橐褂靡纛l格式轉(zhuǎn)換功能,FFmpeg是常見的音視頻處理工具,本文就來介紹一下Docker版FFmpeg安裝部署的詳細(xì)步驟,感興趣的可以了解一下

背景

項(xiàng)目組開發(fā)過程用因?yàn)橐褂靡纛l格式轉(zhuǎn)換功能,通過查閱相關(guān)資料,最終選擇使用 FFmpeg。

FFmpeg介紹

官網(wǎng):https://ffmpeg.org

FFmpeg是一套開源的、跨平臺(tái)的多媒體解決方案,可以用于錄制、轉(zhuǎn)換和流式傳輸音頻和視頻。支持Linux、Windows和macOS操作系統(tǒng)。

作為一個(gè)強(qiáng)大的多媒體工具集,F(xiàn)Fmpeg提供了廣泛的功能和工具,使開發(fā)者能夠進(jìn)行各種音視頻處理任務(wù),例如:

  • 格式轉(zhuǎn)換:通過FFmpeg,您可以將音頻和視頻從一個(gè)格式轉(zhuǎn)換為另一個(gè)格式。它支持眾多的音視頻編解碼器,可以處理幾乎所有常見的音視頻格式。

  • 視頻剪輯和裁剪:您可以使用FFmpeg裁剪視頻,提取所需的片段,并且還可以調(diào)整視頻的大小、分辨率和幀率等參數(shù)。

  • 音頻處理:FFmpeg可以對(duì)音頻文件進(jìn)行各種處理,包括音頻合并、分割、混音、音量調(diào)節(jié)、降噪等。

  • 視頻處理:除了轉(zhuǎn)碼和剪輯,F(xiàn)Fmpeg還支持視頻濾鏡和特效,如添加水印、旋轉(zhuǎn)、縮放、色彩調(diào)整等。

  • 視頻流式傳輸:使用FFmpeg,您可以將音視頻實(shí)時(shí)流式傳輸?shù)骄W(wǎng)絡(luò)上,以便通過網(wǎng)絡(luò)播放、直播或其他實(shí)時(shí)應(yīng)用。

FFmpeg提供了命令行工具,也可以通過C/C++的庫進(jìn)行集成。此外,還有許多基于FFmpeg的第三方工具和框架可用,使得音視頻處理變得更加簡(jiǎn)單和便捷。

關(guān)于ffmpeg的安裝,有的人可能要折騰很久,甚至折騰一個(gè)禮拜,究其原因,基本都是編譯安裝惹的禍。

項(xiàng)目開發(fā)團(tuán)隊(duì)成員中,有使用Windows、Ubuntu、macOS等系統(tǒng)進(jìn)行開發(fā),測(cè)試、生產(chǎn)環(huán)境可能是CentOS、Fedora、Ubuntu、Windows等系統(tǒng)的情況。考慮到未來可能有其他成員接手項(xiàng)目,如果每個(gè)人都花時(shí)間安裝FFmpeg,因?yàn)榄h(huán)境差異不知道得折騰多久。為了提高生產(chǎn)率(降本增效),于是決定使用docker安裝ffmpeg。

1. 搜索鏡像

前提:已經(jīng)安裝docker

使用 docker search --no-trunc ffmpeg 命令搜索 ffmpeg 并查看完整鏡像描述

(base) mjl@ubuntu:~$ docker search --no-trunc ffmpeg
NAME                                      DESCRIPTION                                                                                    STARS     OFFICIAL   AUTOMATED
jrottenberg/ffmpeg                        FFmpeg 2.8 - 3.x - 4.x Copyright (c) 2000-2017 the FFmpeg developers                           419                  [OK]
linuxserver/ffmpeg                                                                                                                       106                  
opencoconut/ffmpeg                        Minimal FFmpeg Docker image built on Alpine Linux                                              30                   [OK]
nachochip/ffmpeg                          ffmpeg (x264, fdk-aac) inside debian                                                           14                   [OK]
nightseas/ffmpeg                          FFmpeg with CUDA encoder/decoder support.                                                      8                    [OK]
selenium/video                            Image with ffmpeg meant to be used with a Dynamic Grid                                         7                    
alfg/ffmpeg                               An FFmpeg Dockerfile from source. Built on Alpine Linux.                                       6                    [OK]
jellyfin/ffmpeg                                                                                                                          4                    
datarhei/ffmpeg                           FFmpeg Development Image for H.264-Processing                                                  4                    
rafalkrypa/ffmpeg                         Latest FFmpeg static build on minimal Alpine Linux container                                   3                    
sjourdan/ffmpeg                           FFmpeg on Alpine Docker Image                                                                  3                    [OK]
ffmpeg/coverity                           Environment for automated coverity testing of FFmpeg.                                          2                    [OK]
mycujoo/ffmpeg-docker                     ffmpeg docker container                                                                        0                    [OK]
krickwix/ffmpeg                                                                                                                          0                    
nicholasrobinson/ffmpeg-homebridge        A Homebridge Dockerfile built on oznu/docker-homebridge with FFmpeg copied from alfg/ffmpeg.   0                    
azamserver/nextcloud-imagemagick-ffmpeg   A Nextcloud docker image with ImageMagick & FFmpeg preinstalled                                0                    
jamesarems/ffmpeg                         CentOS 8 based ffmpeg server                                                                   0                    
onlinetvrecorder/ffmpeg                                                                                                                  0                    
vulhub/ffmpeg                                                                                                                            0                    
ffmpegextrah/ffmpeg                                                                                                                      0                    
ffmpegclearu/ffmpeg                                                                                                                      0                    
thinkz/ffmpeg                             ffmpeg with librtmp                                                                            0                    
umnelevator/ffmpeg                                                                                                                       0                    
nicolasarnaud4viseo/ffmpeg                                                                                                               0                    
chpkg/ffmpeg-to-s3                                                                               0         

2. 拉取鏡像

從上面的搜索結(jié)果中我們可以看到第一行 jrottenberg/ffmpeg 的 Stars 最多, 果斷就用它了。

使用 docker pull jrottenberg/ffmpeg 命令拉取鏡像(提前換好速度快的鏡像源,否則就耐心等待吧):

(base) mjl@ubuntu:~$ docker pull jrottenberg/ffmpeg
Using default tag: latest
latest: Pulling from jrottenberg/ffmpeg
7b722c1070cd: Pull complete 
5fbf74db61f1: Pull complete 
ed41cb72e5c9: Pull complete 
7ea47a67709e: Pull complete 
c56548ea744b: Pull complete 
24130a6ef4f3: Pull complete 
2d757c4d9a11: Pull complete 
Digest: sha256:21eb739725c43bd7187982e5fa4b5371b495d1d1f6f61ae1719ca794817f8641
Status: Downloaded newer image for jrottenberg/ffmpeg:latest
docker.io/jrottenberg/ffmpeg:latest

3. 導(dǎo)出鏡像

拉取完成后,使用 docker image ls 列出本地已經(jīng)下載的鏡像。我們看到有一個(gè)jrottenberg/ffmpeg鏡像,大小為218MB。

(base) mjl@ubuntu:~$ docker image ls
REPOSITORY                                  TAG          IMAGE ID       CREATED         SIZE
jrottenberg/ffmpeg                          latest       2100506dfbea   4 years ago     218MB

我們需要將該鏡像導(dǎo)出成 tar 包??梢允褂靡韵旅顚?dǎo)出:

(base) mjl@ubuntu:~$ docker save -o ffmpeg.tar jrottenberg/ffmpeg:latest

導(dǎo)出為 ffmpeg.tar 文件:

(base) mjl@ubuntu:~$ ll
-rw-------   1 mjl mjl 222621696  5月  3 22:27 ffmpeg.tar

導(dǎo)出的 tar 包可以通過 scp 或者 ftp 將其傳輸至離線服務(wù)器。

4. 加載鏡像

在服務(wù)器中,使用 docker image ls 列出本地已經(jīng)下載的鏡像,可以看到服務(wù)器上只有一個(gè) hello-word 鏡像(如下所示)。

(base) [root@10-23-2-211 ~]# docker image ls
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
hello-world   latest    bf756fb1ae65   3 years ago   13.3kB

接下來使用 docker load -i ffmpeg.tar 將 tar 包導(dǎo)入 Docker 中:

(base) [root@10-23-2-211 ~]# docker load -i ffmpeg.tar 
0de2edf7bff4: Loading layer [==================================================>]  121.3MB/121.3MB
b2fd8b4c3da7: Loading layer [==================================================>]  15.87kB/15.87kB
f67191ae09b8: Loading layer [==================================================>]  11.78kB/11.78kB
68dda0c9a8cd: Loading layer [==================================================>]  3.072kB/3.072kB
1c86e8f0fce5: Loading layer [==================================================>]  2.048kB/2.048kB
e38e18db08fb: Loading layer [==================================================>]  31.93MB/31.93MB
b0e2549b869a: Loading layer [==================================================>]  69.36MB/69.36MB
Loaded image: jrottenberg/ffmpeg:latest

導(dǎo)入完成后,我們繼續(xù)使用 docker image ls 命令查詢是否成功導(dǎo)入:

(base) [root@10-23-2-211 ~]# docker image ls
REPOSITORY           TAG       IMAGE ID       CREATED       SIZE
hello-world          latest    bf756fb1ae65   3 years ago   13.3kB
jrottenberg/ffmpeg   latest    2100506dfbea   4 years ago   218MB

從上面的輸出結(jié)果中可以看出多了一個(gè) jrottenberg/ffmpeg 鏡像,大小218MB,說明導(dǎo)入成功。

5. 啟動(dòng)容器

使用 docker ps 查看運(yùn)行的容器:

(base) [root@10-23-2-211 ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

啟動(dòng)容器:

(base) [root@10-23-2-211 ~]# docker run -itd --name app_ffmpeg -p 8066:8080 -v /home/mjl/ffmpeg/:/mnt/app/ --entrypoint='bash' jrottenberg/ffmpeg
2cd7573a3c44da0ccfacd1e46cb40a523dfaf99dc0e298db3053f473a0ecd11e

再次使用 docker ps 查看運(yùn)行的容器:

(base) [root@10-23-2-211 ~]# docker ps
CONTAINER ID   IMAGE                COMMAND   CREATED         STATUS         PORTS                    NAMES
2cd7573a3c44   jrottenberg/ffmpeg   "bash"    4 seconds ago   Up 3 seconds   0.0.0.0:8066->8080/tcp   app_ffmpeg

此時(shí)容器已啟動(dòng)。

到此這篇關(guān)于Docker版FFmpeg安裝部署的詳細(xì)步驟的文章就介紹到這了,更多相關(guān)Docker安裝部署FFmpeg內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Docker安裝方法與Docker四種網(wǎng)絡(luò)模式詳解

    Docker安裝方法與Docker四種網(wǎng)絡(luò)模式詳解

    今天小編就為大家分享一篇關(guān)于Docker安裝方法與Docker四種網(wǎng)絡(luò)模式的詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2018-09-09
  • Docker Nginx容器制作部署實(shí)現(xiàn)方法

    Docker Nginx容器制作部署實(shí)現(xiàn)方法

    這篇文章主要介紹了Docker Nginx容器制作部署實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 詳細(xì)介紹如何安裝最新版Docker?Compose

    詳細(xì)介紹如何安裝最新版Docker?Compose

    Docker Compose是一個(gè)用來定義和運(yùn)行多個(gè)復(fù)雜應(yīng)用的Docker編排工具,下面這篇文章主要給大家介紹了關(guān)于如何安裝最新版Docker?Compose的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • Docker搭建私有化倉庫的幾種方法

    Docker搭建私有化倉庫的幾種方法

    搭建 Docker 私有化倉庫是一個(gè)非常重要的實(shí)踐,它能夠幫助你安全地存儲(chǔ)和管理 Docker 鏡像,本文主要介紹了Docker搭建私有化倉庫的的幾種方法,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-08-08
  • docker search 搜索鏡像的實(shí)現(xiàn)示例

    docker search 搜索鏡像的實(shí)現(xiàn)示例

    本文主要介紹了docker search搜索鏡像的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • Docker數(shù)據(jù)卷容器創(chuàng)建及使用方法解析

    Docker數(shù)據(jù)卷容器創(chuàng)建及使用方法解析

    這篇文章主要介紹了Docker數(shù)據(jù)卷容器創(chuàng)建及使用方法解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 使用Portainer部署Docker容器的項(xiàng)目實(shí)踐

    使用Portainer部署Docker容器的項(xiàng)目實(shí)踐

    這篇文章主要介紹了使用Portainer部署Docker容器的項(xiàng)目實(shí)踐,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • 解決docker報(bào)錯(cuò):docker:invalid?reference?format.

    解決docker報(bào)錯(cuò):docker:invalid?reference?format.

    在導(dǎo)入鏡像的時(shí)候出現(xiàn)問題:invalid reference format,這里總結(jié)下,這篇文章主要給大家介紹了關(guān)于解決docker報(bào)錯(cuò):docker:invalid?reference?format的相關(guān)資料,需要的朋友可以參考下
    2024-01-01
  • 如何使用docker極簡(jiǎn)打包java.jar鏡像并啟動(dòng)

    如何使用docker極簡(jiǎn)打包java.jar鏡像并啟動(dòng)

    這篇文章主要介紹了如何使用docker極簡(jiǎn)打包java.jar鏡像并啟動(dòng),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-08-08
  • 將Docker容器打包并在其他服務(wù)器上運(yùn)行的全過程

    將Docker容器打包并在其他服務(wù)器上運(yùn)行的全過程

    Docker容器使得應(yīng)用程序的部署和管理變得更加簡(jiǎn)單和高效,有時(shí),我們可能需要將一個(gè)運(yùn)行中的Docker容器打包,并在其他服務(wù)器上運(yùn)行,本文將詳細(xì)介紹如何實(shí)現(xiàn)這一過程,需要的朋友可以參考下
    2024-05-05

最新評(píng)論