瀏覽代碼

Merge pull request #5521 from mrkrossxdx/mpv

Added support for mpv if mplayer is not available (new version)
Sergey M. 10 年之前
父節點
當前提交
b19fc36c81
共有 1 個文件被更改,包括 12 次插入5 次删除
  1. 12 5
      youtube_dl/downloader/mplayer.py

+ 12 - 5
youtube_dl/downloader/mplayer.py

@@ -16,12 +16,19 @@ class MplayerFD(FileDownloader):
         self.report_destination(filename)
         self.report_destination(filename)
         tmpfilename = self.temp_name(filename)
         tmpfilename = self.temp_name(filename)
 
 
-        args = [
-            'mplayer', '-really-quiet', '-vo', 'null', '-vc', 'dummy',
-            '-dumpstream', '-dumpfile', tmpfilename, url]
+        args = []
         # Check for mplayer first
         # Check for mplayer first
-        if not check_executable('mplayer', ['-h']):
-            self.report_error('MMS or RTSP download detected but "%s" could not be run' % args[0])
+        if check_executable('mplayer', ['-h']):
+            args = [
+                'mplayer', '-really-quiet', '-vo', 'null', '-vc', 'dummy',
+                '-dumpstream', '-dumpfile', tmpfilename, url]
+                        
+        # Check for mpv
+        elif check_executable('mpv', ['-h']):
+            args = [
+                'mpv', '-really-quiet', '--vo=null', '--stream-dump=' + tmpfilename, url]
+        else:
+            self.report_error('MMS or RTSP download detected but neither "mplayer" nor "mpv" could be run')
             return False
             return False
 
 
         # Download using mplayer.
         # Download using mplayer.