Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从wifi h.264摄像头直接到iPhone的实时流媒体传输_Iphone_Streaming_Live_H.264_Decoding - Fatal编程技术网

从wifi h.264摄像头直接到iPhone的实时流媒体传输

从wifi h.264摄像头直接到iPhone的实时流媒体传输,iphone,streaming,live,h.264,decoding,Iphone,Streaming,Live,H.264,Decoding,我有一个标准的WiFi h.264摄像头,用作婴儿监视器,从技术上讲,这意味着我需要它尽可能实时。我最初的目标是对来自摄像头的视频流进行编码,这样就可以使用本机iPhone硬件解码器,从而将摄像头的视频直接、清晰、清晰、实时地传输到iPhone上。我真的想避免使用FFMPEG,因为它是一个软件解码器,比硬件解码器慢 除非我使用HLS作为中间人服务器,否则iPhone不会从相机流中获取任何内容。我极力避免在相机和iphone之间引入服务器,因为这意味着更多的工作、更多的带宽和更多的视频延迟 所以我

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

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

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

同样,你的帮助意义重大,因为我已经在这件事上自责了6个多月。

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

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

/*结束编辑*/ 根据您的相机品牌,苹果应用商店的IP Vision应用程序应该可以正常工作,以建立直接连接

请看这里:

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

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

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


至于应用程序中的延迟,我不能给你任何具体的建议,但该应用程序是免费的,如果它提供了比你赢更好的结果

编辑:不适用于股票iOS或Android 4.0。可能对网络有一些用处,所以我将把这个留给其他人。

你能从你的相机里得到RTSP流吗

以下是IP摄像头及其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>

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

示例CSS .盒子{ 保证金:0自动; 宽度:320px; 高度:240px; }

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

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


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

请参阅。AFAIK目前基于块的http流是唯一的选项。这会调用vlc插件,它在IOS上不可用—有点仓促地使用下一票,dwery。这在我的两台iPhone4测试设备上都可以使用。一个是使用软件版本4.2.1的库存设备,另一个是使用我相信版本6.xx的库存设备。我在投票前试过4S/iOS6.x,但它不起作用。我还对谷歌做了一些研究,没有发现其他关于iPhone上以这种方式播放的RTSP的参考资料,这样的功能肯定会被发现。不过,如果你能给我一个有效的链接,我会很高兴地向上投票。我一起浏览了一个测试页面,并确认这不适用于iOS或Android 4.0。我已经附上了我的答案,我收回了我对你的否决票的批评,这显然是合理的。我不知道我哪里做错了,我道歉。现在很少看到道歉。我取消了否决票。你打算告诉我们你最好的答案是什么吗?@Elliott B OP希望避免使用中间件服务器。我的“更好的答案”涉及到这样一个服务器,所以不适合在这里讨论。我应该用我的编辑“更好的解决方案”的措辞。无论如何,如果你有一个商业应用程序,请使用WOWza媒体服务器。它既便宜又有效。有了新的版本4,让你的流运行起来非常容易。