华人澳洲中文论坛

ffmpeg+ffserver完成基于http的视频点播

[复制链接]

2022-9-4 07:23:39 136 0

环境
ubuntu 18.04 64bitffmpeg简介ffmpeg是一个开源的音视频处置的开发套件,它包罗几个十分实用的命令行工具,ffmpeg、ffprobe、ffserver 和 ffplay。本文完成的是ffmpeg + ffserver 来搭建基于 http 的视频点播零碎。
C++音视频开发学习材料:点击支付→音视频开发(材料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
零碎架构
下图是一个简略的零碎架构。图中的 cam.ffm,能够了解为是一个缓存文件,ffmpeg 担任从当地或者网络中抓取数据,而后发送给 ffserver,假如此时没有客户端衔接,那末数据就会被写入到 cam.ffm 中。


装置环境
装置 ffmpeg 套件
sudo apt install ffmpeg启动ffserver
首先修正文件 /etc/ffserver.conf,假如没有就本人创立
HTTPPort 8090 HTTPBindAddress 0.0.0.0 MaxClients 10 MaxBandWidth 50000 CustomLog - #NoDaemon File /tmp/cam.ffm FileMaxSize 1G ACL allow 十二7.0.0.1 ACL allow localhost Feed cam.ffm Format mpjpeg VideoFrameRate 20 VideoBitRate 10240 VideoBufferSize 20480 VideoSize 1920x1080 VideoQMin 3 VideoQMax 31 NoAudio Strict -1 Format status # Only allow local people to get the status ACL allow localhost ACL allow 192.168.1.0 192.168.1.255 URL http://www.ffmpeg.org/
而后在终端中履行如下命令来启动办事
ffserver -d -f /etc/ffserver.conf


C++音视频开发学习材料:点击支付→音视频开发(材料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
启动ffmpeg
筹备个当地视频文件作为 ffmpeg 的输出,网络视频流也能够。在 ffmpeg 启动以前需确保 ffserver 曾经启动
ffmpeg -i Videos/20170307_CCTV9_Special.Edition-Aerial.China.S01E05-jiangxi.ts http://localhost:8090/cam.ffm


查看形态
在阅读器中拜候 http://localhost:8090/stat.html,页面上会显示出以后零碎中能够拜候的链接,如下图所示,http://localhost:8090/index.html,这个链接咱们在 ffserver.conf 中做了重定向,会间接跳转去拜候 www.ffmpeg.org/,链接 http://localhost:8090/cam.mjpeg 是咱们想要的


在阅读器中播放mjpeg
阅读器关上 http://localhost:8090/cam.mjpeg


输入格局为flv
修正 ffserver.conf
HTTPPort 8090 HTTPBindAddress 0.0.0.0 MaxClients 10 MaxBandWidth 50000 CustomLog - #NoDaemon File /tmp/cam.ffm FileMaxSize 1G ACL allow 十二7.0.0.1 ACL allow localhost Feed cam.ffm Format flv VideoFrameRate 20 VideoBitRate 10240 VideoBufferSize 20480 VideoSize 1920x1080 VideoQMin 3 VideoQMax 31 NoAudio Strict -1 Format status # Only allow local people to get the status ACL allow localhost ACL allow 192.168.1.0 192.168.1.255 URL http://www.ffmpeg.org/
从新启动 ffmpeg
ffmpeg -i test.ts http://localhost:8090/cam.ffm
C++音视频开发学习材料:点击支付→音视频开发(材料文档+视频教程+面试题)(FFmpeg+WebRTC+RTMP+RTSP+HLS+RTP)
ffplay播放flv
推流胜利后,就能使用 ffplay 进行播放了,url 是 http://localhost:8090/test


rtsp作为ffmpeg的输出源
ffmpeg 推流时,将当地视频文件换成 rtsp 视频流
ffmpeg -rtsp_transport tcp -i rtsp://user:[email protected]:554/Streaming/Channels/1 http://localhost:8090/cam.ffm

发表回复

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则

:
中级会员
:
论坛短信
:
未填写
:
未填写
:
未填写

主题37

帖子46

积分216

图文推荐

  • 撞穿学校栅栏害死十一岁男孩的司机不必坐牢

    一位女司机撞穿学校栅栏、害死了11岁男孩,被罚20

  • 全科医生正告花粉症时节正在好转

    全国各地的全科医生正告春季的开端标记着花粉症时

  • 新西兰总理:出世在新西兰的新纳粹Thomas S

    新西兰总理拉克森称新纳粹Thomas Sewell是坏人,

  • 新州护士和助产士承受暂时加薪3%的前提

    新州护士和助产士投票承受政府提出的暂时加薪3%以

  • 新纳粹份子如何利用“普通父母”的掩护在反

    星期天,新纳粹份子在反移民集会开端前大约一个小