【问题标题】:live streaming from wifi h.264 camera directly to iPhone从 wifi h.264 摄像头直接流式传输到 iPhone
【发布时间】:2012-02-01 05:23:05
【问题描述】:

我有一个标准 WiFi h.264 摄像头,用作婴儿监视器,从技术角度来说,这意味着我需要它尽可能实时。我最初的目标是对来自相机的流进行编码,以便可以使用本机 iPhone 硬件解码器,以便从我的相机到我的 iPhone 上获得直接、干净、清晰、实时的视频。我真的想避免使用 FFMPEG,因为它是一个软件解码器,比硬件解码器慢。

我发现 iPhone 不会从相机的流中获取任何内容,除非我使用 HLS 作为中间人服务器。我极力避免在相机和 iPhone 之间引入服务器,因为这意味着更多的工作、更多的带宽和更多的视频延迟。

所以我的问题是:我需要做什么才能从我的 WiFi 摄像头获得直接的 h.264 流,以便使用它的硬件解码显示在我的 iPhone 上?我目前正在使用基本配置文件。如果您需要更多详细信息,请告诉我。

再次强调,您的帮助意义重大,因为我已经为此自责超过 6 个月了。

【问题讨论】:

标签: iphone streaming live h.264 decoding


【解决方案1】:

/* 编辑(2012 年 1 月 24 日)*/

我将这个答案留作历史记录,但我现在有一个更好的答案..

/* 结束编辑 */ 根据您的相机品牌,Apple App Store 中的 IP Vision 应用程序应该可以正常工作以建立直接连接。

请看这里:http://itunes.apple.com/us/app/ip-vision/id300593485?mt=8

当然会有一些延迟,但我可以从 15 年的监控经验告诉你,延迟只是生活中的事实。

大多数 IP 摄像机对比特率提供合理程度的控制。

如果您可以牺牲质量来换取速度,请尝试获得大约 32kbps 的比特率。使用 H.264 压缩,在 QVGA 分辨率下大约为 1-2 FPS。

至于应用程序的延迟,我无法为您提供任何具体建议,但该应用程序是免费的,如果它提供的结果比您赢得的更好!

【讨论】:

  • 您要告诉我们您的最佳答案是什么吗?
  • @Elliott B OP 希望避免使用中间件服务器。我的“更好的答案”涉及到这样的服务器,所以这里不宜讨论。我应该将我的编辑措辞“更好的解决方案”。无论如何,如果您有商业应用程序,请使用 WOWza 媒体服务器。它很便宜而且有效。使用新版本 4,让您的直播变得非常容易。
【解决方案2】:

编辑:不适用于现有的 iOS 或 Android 4.0。可能对网络有一些用处,所以我会把它留给其他人。

你能从你的相机中获取 RTSP 流吗?

以下是 IP 摄像机及其 RTSP 流的列表: http://www.soleratec.com/rtsp/

如果您可以制作网页,则可以使用此代码嵌入您的 RTSP 流。它适用于 iOS,并且相当普遍:

<div class="box">
<OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
 codebase="http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab"
 width="320" height="240" id="vlc" events="True">
<param name="Src" value="rtsp://76.23.103.200:1935/live/camera.stream" />
<param name="ShowDisplay" value="True" />
<param name="AutoLoop" value="False" />
<param name="AutoPlay" value="True" />
<embed id="vlcEmb"  type="application/x-google-vlc-plugin" version="VideoLAN.VLCPlugin.2" autoplay="yes" loop="no" width="320" height="240"
 target="rtsp://76.23.103.200:1935/live/camera.stream" ></embed>
</OBJECT>
</div>

根据需要为您的盒子设置样式。对于 iPhone 4,屏幕宽度将为 320 像素,而对于典型的 IP 摄像头,您可能有 3:4 的纵横比,因此您希望屏幕高度为 240 像素,如上所列。以您想要的任何方式设置包含 div 的样式。我建议将其居中,以防您在平板电脑、笔记本电脑、PC 等设备中调用网页。这样更容易查看。

示例 CSS 。盒子 { 边距:0 自动; 宽度:320px; 高度:240px; }

注意:此答案的范围不涉及任何安全问题。就像网络上的任何东西一样,如果你把它不安全地放在那里,任何人都可以得到它。

重新解决了您的延迟问题,此方法将在以 32kbps 流式传输时导致大约 3 秒的延迟。在 3G 无线网络上可能会更长一些。正如我所提到的,延迟是视频生活中的一个事实。即使是非常昂贵的解决方案也会有 1-2 秒的延迟。

我希望这对你有所帮助。如果您没有网站,只需创建一个免费的 Wordpress 网站并将此代码粘贴到静态页面中即可。

【讨论】:

  • 这会调用 vlc 插件,但它在 iOS 上不可用
  • 投反对票有点草率,笨蛋。这确实适用于我的两个 iPhone 4 测试设备。一个是使用软件版本 4.2.1 的库存设备,另一个是使用我相信版本 6.xx 的库存设备。
  • 在投票之前我确实尝试过使用 4S/iOS6.x,但它不起作用。我还在谷歌上做了一些研究,发现没有其他关于 RTSP 的参考在 iPhone 上以这种方式播放,这样的功能肯定会被发现。但是,如果您可以提供有效的链接,我会很高兴地投票。
  • dwery,我通过一个测试页面确认这不适用于 iOS 或 Android 4.0。我已经附上了我的答案,我撤回了我对你的反对票的批评,这显然是有道理的。我不确定我哪里出错了,我很抱歉。
  • 现在很少看到道歉了。我删除了反对票。
猜你喜欢
  • 1970-01-01
  • 2015-04-18
  • 1970-01-01
  • 2020-05-26
  • 2012-11-07
  • 1970-01-01
  • 1970-01-01
  • 2023-03-26
相关资源
最近更新 更多