华人澳洲中文论坛

热图推荐

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

    [复制链接]

    2022-9-4 07:23:39 75 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

    帖子43

    积分204

    图文推荐