From: Roman Bazalevsky Date: Wed, 21 Oct 2015 17:36:34 +0000 (+0300) Subject: Переход с webm на ogg по причинам несовместимости с новыми версиями ffmpeg. X-Git-Url: https://git.rvb.name/vpproxy.git/commitdiff_plain/21abfc4eb5f6f49ef263d0c1961fb1dff19f337c?ds=sidebyside;hp=25a9fce214d07b28f97dd0ee4ea5cc714d359569 Переход с webm на ogg по причинам несовместимости с новыми версиями ffmpeg. --- diff --git a/plugins/m3u_plugin.py b/plugins/m3u_plugin.py index 2070206..fc4d3e3 100644 --- a/plugins/m3u_plugin.py +++ b/plugins/m3u_plugin.py @@ -52,7 +52,7 @@ class M3u(VPProxyPlugin): if self.splitted_path[1]=='m3u': prefix='get' elif self.splitted_path[1]=='m3uw': - prefix='webm' + prefix='ogg' elif self.splitted_path[1]=='m3ut': prefix='mp4' elif self.splitted_path[1] in ("list","play","index"): diff --git a/vlcclient/vlcmessages.py b/vlcclient/vlcmessages.py index d2ebe45..1d03938 100644 --- a/vlcclient/vlcmessages.py +++ b/vlcclient/vlcmessages.py @@ -13,9 +13,12 @@ class VlcMessage(object): command = 'new "' + stream_name + '" broadcast input "' + input + '" output ' + (pre_access + ':' if pre_access else '#') if qtype=='mp4': command = command + 'transcode{vcodec=mp4v,acodec=mpga,vb=800,ab=128}:' - elif qtype=='webm': - command = command + 'transcode{vcodec=VP80,acodec=vorbis,vb=512,ab=64}:' - muxer='ffmpeg{mux=webm}' + elif qtype=='ogg': + command = command + 'transcode{vcodec=theora,acodec=vorbis,vb=800,ab=128}:' + muxer='ogg' +# elif qtype=='webm': +# command = command + 'transcode{vcodec=VP80,acodec=vorbis,vb=512,ab=64}:' +# muxer='ffmpeg{mux=ogg}' command = command +'http{mux=' + muxer + ',dst=:' + \ str(out_port) + '/' + stream_name + '} option sout-keep option sout-all enabled' + \ "\r\n" + 'control "' + stream_name + '" play' diff --git a/vphttp.py b/vphttp.py index 6108bd8..d5f9018 100644 --- a/vphttp.py +++ b/vphttp.py @@ -164,7 +164,7 @@ class HTTPHandler(BaseHTTPServer.BaseHTTPRequestHandler): self.reqtype = self.splittedpath[1].lower() # If first parameter is 'pid' or 'torrent' or it should be handled # by plugin - if not (self.reqtype in ('get','mp4','webm') or self.reqtype in VPStuff.pluginshandlers): + if not (self.reqtype in ('get','mp4','ogg') or self.reqtype in VPStuff.pluginshandlers): self.dieWithError(400) # 400 Bad Request return except IndexError: @@ -236,7 +236,10 @@ class HTTPHandler(BaseHTTPServer.BaseHTTPRequestHandler): logger.debug( "Sending fake headers for " + useragent) self.send_response(200) - self.send_header("Content-Type", "video/mpeg") + if self.reqtype=="ogg": + self.send_header("Content-Type", "video/ogg") + else: + self.send_header("Content-Type", "video/mpeg") self.end_headers() # Do not send real headers at all self.headerssent = True @@ -292,7 +295,12 @@ class HTTPHandler(BaseHTTPServer.BaseHTTPRequestHandler): for key in self.video.info().dict: self.send_header(key, self.video.info().dict[key]) - self.send_header("Content-Type", "video/mpeg") + + if self.reqtype=="ogg": + self.send_header("Content-Type", "video/ogg") + else: + self.send_header("Content-Type", "video/mpeg") + # End headers. Next goes video data self.end_headers() logger.debug("Headers sent")