GAE python 開発環境(dev_appserver.py を使用)で mp4/video を提供しようとしていますが、これまでブラウザで再生できませんでした。
開発サーバーで「Broken Pipe」エラーが発生し、本番環境(Googleのサーバー)で再生できたので、ブラウザの並列リクエストが原因の可能性があります。(私の理解が正しければ、dev_appserver.py はシングルスレッドであり、並列リクエストを処理できません。)
Chrome の「--disable-preconnect」オプションを試しましたが、問題は解決しませんでした。
回避策はありますか?あなたのアドバイスは本当にありがたいです。
編集:ムービーファイルは静的リソースとして保存されており、直接アクセスしようとしました(ビデオタグは使用しませんでした)。
[バージョン情報]
- OS: Ubuntu 12.04 LTE
- ブラウザ: Chrome 19.0.1084.46、Firefox 12.0
- GAE: Python - 1.6.5、
- パイソン: 2.7.3
[エラーログ]
INFO 2012-05-21 07:35:04,575 dev_appserver.py:2891] "GET /static/test.mp4 HTTP/1.1" 200 -
----------------------------------------
Exception happened during processing of request from ('127.0.0.1', 36240)
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 "/home/chikashi/Development/google_appengine/google/appengine/tools/dev_appserver.py", line 2579, in __init__
BaseHTTPServer.BaseHTTPRequestHandler.__init__(self, *args, **kwargs)
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
----------------------------------------