Linux下安装ffmpeg全过程

1. 登录centos/ubuntu系统。

2. 查看是是否安装的SSH

  2.1 查看ssh是否安装成功 :ps -ef | grep ssh      (查看ssh的安装包 :rpm -qa | grep ssh)

  

 

                     (已安装)

  2.2 未安装的,执行安装ssh

3. 查看内网的ip地址

  查看ip地址:  ip addr   ,然后使用xshell连接到服务器。

4. 一键安装宝塔控制面板。

  Centos安装命令:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh 

  Ubuntu/Deepin安装命令:wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

5. 安装成功后,根据内网地址登录宝塔的面板。

  5.1 一键安装lnmp的运行环境(注意php需要安装7.3以上的版本,如需要安装redis,怎php需要开启redis对应的扩展)。

  5.2 安装完lnmp后,宝塔安全菜单放行需要的端口。(http:80  mysql:3306  socket:9501 推流:8090)。

  5.3 创建项目需要的数据库。

  5.4 软件的php的禁用函数中,删除exec()方法。php执行shell命令需要。

6.   安装git服务端。  git服务端安装:yum install git

 


 

7.安装ffmpeg+ffserver( ffmpeg-3.4.6以前版本带有ffserver ,之后的版本移除了,查看版本的路径  http://ffmpeg.org/releases/)。

  7.1   切换目录  cd  /usr/local

  7.2   创建目录  mkdir  ffmpeg

  7.3   进入到ffmpeg目录内   cd ffmpeg

  7.4  利用宝塔面板,将ffmpeg-3.4.6.tar.bz2压缩包文件上传到服务器ffmpeg目录内。

  7.5 解压该压缩包文件:tar  -xjvf   ffmpeg-3.4.6.tar.bz2。

  7.6 解压完成后进入文件夹 : cd  ffmpeg 3.4.6 

  7.7  修改这段配置为了兼容 https下载:     ./configure --enable-openssl --disable-x86asm

  7.8 编辑安装  make & make install

  至此ffmpeg安装完成。

 


 

 

8. ffmpeg 转码,推流,截图 ,切片

  8.1 执行命令,查看ffmpeg的版本:  ffmpeg

  8.2 执行命令,查看ffserver的版本:ffserver

  8.3 如果需要将rtmp或rtsp的流转码成http-jpeg的流,则需要在/etc目录下先创建ffserver.conf的配置文件。

  8.4 切换到etc目录下: cd /etc 

  8.5 创建 ffserver.conf 文件 :touch  ffserver.conf       编辑该文件:  vi  ffserver.conf    查看该文件 :cat   ffserver.conf 

    (注:可以使用宝塔面板直接上传写好的  ffserver.conf 至 /etc 目录下)

  8.6 转码后推流需要先执行命令:ffserver  -f   /etc/ffserver.conf   

      (故:可以将该命令写到开机自启里边)

  8.7 将rtsp流转化成http-jpeg的流 :ffmpeg -y -threads 2 -i "rtsp://username:password@192.168.20.69/media/video1" -s 1280x720 -b 500k  -r 29 http://127.0.0.1:8090/feed_1.ffm

    (注:

        -y -threads 2 调用cpu的线程数   ,

        -s 1280x720 设置分辨率  ,

        -b 500k  设置比特流的大小   ,

        -r 29   设置帧数   ,

        http://127.0.0.1:8090/feed_1.ffm  流缓存的写入文件,

         http实际查看视频地址    http://127.0.0.1:8090/live_1.mjpg,

         快照图片地址:http://127.0.0.1:8090/still_1.jpg

      )

  8.8  将视频流每秒保存一张图片,并命名为时间戳的格式的文件: 

       ffmpeg -i rtmp://192.168.20.180:1935/channel/2  -f image2 -strftime 1 "/www/wwwroot/pic/public/%Y-%m-%d_%H-%M-%S.png"

       (注:-strftime 1   是将截图图片保存成时间格式的关键)

  8.9 将视频流每秒保存一个mp4的视频:

       ffmpeg -i rtmp://192.168.20.180:1935/live/2 -r 25 -f segment -segment_time 1 -segment_format mp4  -strftime 1 /www/wwwroot/video/public/%Y-%m-%d-%H-%M-%S.mp4

 


 

 

9. 开机,自动执行必要的命令行。

  9.1  添加开机自启命令:(centos 7)   vi  rc.d/rc.local    (ubuntu  没有rc.d的路径,也没有rc.local文件)    直接自行编辑创建 : vi rc.local

  9.2  赋予可执行权限:   chmod +x rc.local  

  

  

 

posted @   王二4569  阅读(2435)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
点击右上角即可分享
微信分享提示