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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库