V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hahnzhu
V2EX  ›  iOS

iOS 可以做到将摄像头拍摄内容以视频流的方式传入到 Webview 中的 video 标签吗?

  •  
  •   hahnzhu · 2016-04-24 01:16:45 +08:00 · 4200 次点击
    这是一个创建于 2929 天前的主题,其中的信息可能已经有所发展或是发生改变。

    身份:不会 iOS 开发的前端

    目的:打算通过 hybrid 的方式利用原生调用摄像头的能力将摄像内容以视频流(或其他无论什么介质)传输到 Webview 控件中,并在 Web 中以 <video> 的形式展现出来,可行吗?如果可行有无相关代码或思路可指教?

    其他:有尝试过使用 cordova 封装打包 Web 并得到操作原生接口的能力,但是还是卡在这一步:将摄像内容传输到 Webview 的 <video> 中。目前无 cordova 插件可做到(至少我尝试过是这样的)。

    麻烦各位解答或提供其他思路,感谢!

    11 条回复    2016-04-25 09:58:41 +08:00
    LINAICAI
        1
    LINAICAI  
       2016-04-24 02:31:03 +08:00
    应该可以使用 FFMEGP 库将视频流实时切片成 HLS ,通过 video 标签中嵌入 m3u8 视频的方式完成,当然还需要内嵌一个 web 服务器
    ETiV
        2
    ETiV  
       2016-04-24 04:33:37 +08:00 via iPhone
    关键词: webrtc

    够你学一阵子的……
    lizheming
        3
    lizheming  
       2016-04-24 09:54:30 +08:00
    navigator.getUserMedia 浏览器的 API 可以实现这个需求,就是不知道 Hybrid 里面能不能用。
    ck65
        4
    ck65  
       2016-04-24 10:59:51 +08:00 via iPhone
    Mobile Safari 不支持 getUserMedia 。
    hahnzhu
        5
    hahnzhu  
    OP
       2016-04-24 11:12:12 +08:00
    @ETiV
    @lizheming

    正如 @ck65 所说, WebRTC 为得到 iOS 原生支持,所以才需要借助原生能力。。
    lizheming
        6
    lizheming  
       2016-04-24 11:17:40 +08:00
    @hahnzhu 抱歉,没去看 caniuse .... 以为 webkit 支持 safari 就没问题了呢…
    不过基于 getUserMedia 关键词去查能查到很多 cordova 插件啊…
    lizheming
        7
    lizheming  
       2016-04-24 11:19:38 +08:00
    @hahnzhu 擦,没打完...

    https://www.npmjs.com/package/cordova-plugin-webrtc
    这个好像是提供 getUserMedia 支持的,只看了 readme 没使用过。

    https://github.com/daraosn/Cordova-CanvasCamera
    https://github.com/apache/cordova-plugin-media-capture
    这两个好像也行,但是没看到类似 getUserMedia 的操作,可以试试?

    https://github.com/arasbm/DemoNativeToJS
    还有一个用原生和 JS 通信的 repo ,不明觉厉就是了。
    hahnzhu
        8
    hahnzhu  
    OP
       2016-04-24 11:41:49 +08:00
    @lizheming 非常感谢,我一个个测试下~
    jciba5n4y6u
        9
    jciba5n4y6u  
       2016-04-24 17:04:59 +08:00
    @ETiV 在 iOS 上玩不容易吧。我记得原来这玩意基本上是 google 在推, chrome 和 firefox 支持较好。在 iOS 上要带一个很大的运行时库吧。
    nareix
        10
    nareix  
       2016-04-25 00:57:14 +08:00
    PLCameraStreamingKit + nginx-rtmp + dash.js
    expkzb
        11
    expkzb  
       2016-04-25 09:58:41 +08:00
    @nareix PLCameraStreamingKit 实际使用效果如何?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1083 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 18:13 · PVG 02:13 · LAX 11:13 · JFK 14:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.