1

我有一个在我的桌面上制作的网站,我正在我的 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 共享文件夹?

谢谢

4

1 回答 1

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。

于 2013-06-02T05:28:27.753 回答