Переход с webm на ogg по причинам несовместимости с новыми версиями ffmpeg.
authorRoman Bazalevsky <rvb@rvb.name>
Wed, 21 Oct 2015 17:36:34 +0000 (20:36 +0300)
committerRoman Bazalevsky <rvb@rvb.name>
Wed, 21 Oct 2015 17:36:34 +0000 (20:36 +0300)
plugins/m3u_plugin.py
vlcclient/vlcmessages.py
vphttp.py

index 20702062da0c64349b3ca216e968fb7bd6d48d10..fc4d3e3268e75e36d3a7cdb583f8992609a6a68e 100644 (file)
@@ -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"):
index d2ebe45a375eb22ce8dc4e1ac17ad7bb665981a9..1d03938a67bbd666c4a45e2de32841d1c33ebf7b 100644 (file)
@@ -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'
index 6108bd81055d9b089e885c9e4380e4ffe331c6b9..d5f90181ee05a141fb707dc3a35802df21c8b0e7 100644 (file)
--- 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")