V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
xlzyxxn
V2EX  ›  HTML

html5 推 rtmp 流的方案?

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

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