xlzyxxn
V2EX  ›  HTML

html5 推 rtmp 流的方案?

  •  
  •   xlzyxxn · Feb 15, 2022 · 6188 views
    This topic created in 1730 days ago, the information mentioned may be changed or developed.

    目前只知道使用 flash 推送 rtmp 流,请教各位两个问题,1 、是否可以不用 flash 推 rtmp 流; 2 、h5 怎么实现?

    18 replies  •  2022-10-15 03:09:52 +08:00
    Rrrrrr
    Rrrrrr
    Feb 15, 2022❤️1
    1
    rtmp 只有 flash 可以用。现在主流 hls ,flv 。h5 上应该 hls 比较省事
    statumer
    statumer
    Feb 15, 2022 via iPhone❤️1
    2
    需要服务端中转(通过 Chrome Native 插件可以本地中转)。了解两个 API ,一个是 Media Capture 一个是 Media Recorder 。
    xlzyxxn
    xlzyxxn
    OP
    Feb 15, 2022
    3
    @statumer 中转有具体的插件名吗? 另外我想要实现浏览器获取摄像头视频流并推流,这种场景下中转后再推流会不会有损耗和延迟
    wkmike
    wkmike
    Feb 15, 2022
    5
    WebAssembly
    mxT52CRuqR6o5
    mxT52CRuqR6o5
    Feb 15, 2022
    6
    flash 、chrome/firefox native 插件、微软的 ActiveX ,纯原生 web 肯定是做不到的
    acess
    acess
    Feb 15, 2022 via Android
    7
    我不是搞开发的,但最近也在折腾这块。
    想起 flv.js ,应该比较相关。随便一搜搜到一篇博客: https://wxzzz.com/425.html
    另外我看 Media source extensions 貌似说在 iPhone 上没开放( iPad 上倒是开放了),没用过 iPhone 也不知道具体啥情况
    acess
    acess
    Feb 15, 2022 via Android
    8
    又搜了一下,stack exchange 上说 web 低延迟直播的正解应该是 webrtc……具体情况就不知道了
    acess
    acess
    Feb 15, 2022 via Android
    9
    额,貌似 flvjs 作者本人很吐槽 rtmp/flv 这些
    https://twitter.com/magicxqq/status/1410629407018872832
    2055
    2055
    Feb 15, 2022
    10
    之前做过
    web 负责采集音视频流和录制,把录制的 blob 再传到转推服务器通过 ffmpeg RTMP 推流
    推上去再拉 FLV 流 延迟<3s
    0xsui
    0xsui
    Feb 15, 2022 via Android
    11
    看看 m3u8 推流?
    acess
    acess
    Feb 15, 2022 via Android
    12
    (额……楼主忽略我吧……我之前好像把问题的意思都理解反了)
    torrent
    torrent
    Feb 15, 2022 via Android
    13
    需要套一个转换,可以用 ffmpeg 转成 flv ,然后前端用 flv.js 或者 mpegts.js ,亲测 mpegts.js 延迟比 flvjs 小很多,局域网跑可以干到 1s 左右
    另外为什么不试试 webrtc 呢
    torrent
    torrent
    Feb 15, 2022 via Android
    14
    以前写作业时做过类似的,不过是前端播放,也是进 ffmpeg 转 flv 流然后套 nginx 出来,前端 mpegts.js 播放。不担心延迟的话 hls 更好。你要做前端推流的话估计还要麻烦一点。前面楼里说的 wasm 倒是有现成的 ffmpeg wasm ,但是人家不支持 rtmp 。感觉最好的方案就是 webrtc 了
    anying
    anying
    Feb 15, 2022
    15
    最好的方式是 webrtc ,之前项目实际比较过。
    theresa233
    theresa233
    Feb 16, 2022 via Android
    16
    还是建议使用 webrtc ,真要推流可以用 webrtc 连服务端这样的
    damngoto
    damngoto
    Jul 15, 2022
    17
    楼主最后怎么解决的。
    userdhf
    userdhf
    Oct 15, 2022
    18
    1. ffmpeg 将 rtmp 输出 m3u8 貌似仅支持手机端实体机

    2. nodeMediaServer 输出 m3u8 和 flv ,pc 端需要配合 flv.js
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1007 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 18:42 · PVG 02:42 · LAX 10:42 · JFK 13:42
    ♥ Do have faith in what you're doing.