V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Dive into HTML5
http://diveintohtml5.org/
xlzyxxn
V2EX  ›  HTML

html5 推 rtmp 流的方案?

  •  
  •   xlzyxxn · 2022-02-15 11:48:14 +08:00 · 4307 次点击
    这是一个创建于 1017 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    2. nodeMediaServer 输出 m3u8 和 flv ,pc 端需要配合 flv.js
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3362 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:32 · PVG 19:32 · LAX 03:32 · JFK 06:32
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.