在iPad上通过本地网络播放视频

时间:2013-05-31 12:58:59

标签: html5 ipad video local simplehttpserver

我有一个我在桌面上制作的网站,我正在iPad上查看。我这样做是通过使用

共享文件夹访问'computername.local:8000'
python -m SimpleHTTPServer

一切正常,除了视频,它们只是通过播放图标显示十字架。

这是我用于视频的代码:

<video id="thevideo" class="video-js vjs-default-skin" 
controls preload="auto" poster="poster.jpg" data-setup="{}"> 

<source src="video.mp4" type='video/mp4'></video>

有没有办法通过这种方法播放视频?或者是否有另一种在iPad本地共享文件夹的方法?

由于

1 个答案:

答案 0 :(得分:0)

我之前从未见过python -m SimpleHTTPServer伎俩。但我尝试了它,并能够让它来提供一些静态文件。但是,只要我尝试提供支持视频标记的大型.MP4文件,我就看到了这个输出(并且服务器一直在运行):

Traceback (most recent call last):
  File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock
    self.process_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request
    self.finish_request(request, client_address)
  File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "/usr/lib/python2.7/SocketServer.py", line 640, in __init__
    self.finish()
  File "/usr/lib/python2.7/SocketServer.py", line 693, in finish
    self.wfile.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe

你看到了吗?这是Linux上的Python 2.7.3;它看起来像你在Mac OS X上,所以它可能看起来有点不同。

无论如何,我在你看到的iPad上得到了同样破碎的播放图标。我猜测简单的Python HTTP服务器不知道如何一次提供那么多数据。

替代解决方案:如果您现在只需要一个简单的静态,准确的HTTP服务器,我建议webfs。将其编译为命令行并从任何位置执行它以在端口8000上建立非特权的静态HTTP服务器(默认情况下)。我刚刚测试了它,并且能够通过Safari中的视频标签将基本.MP4文件流式传输到iPad。