From b3d10e32a91288835f3986d68ea944a699e63608 Mon Sep 17 00:00:00 2001 From: Mort Yao Date: Sat, 26 Apr 2014 15:17:45 +0200 Subject: [PATCH] add rtmpdump wrapper --- src/you_get/processor/__init__.py | 1 + src/you_get/processor/rtmpdump.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) create mode 100644 src/you_get/processor/rtmpdump.py diff --git a/src/you_get/processor/__init__.py b/src/you_get/processor/__init__.py index 88616f31..d728385d 100644 --- a/src/you_get/processor/__init__.py +++ b/src/you_get/processor/__init__.py @@ -3,3 +3,4 @@ from .join_flv import concat_flv from .join_mp4 import concat_mp4 from .ffmpeg import * +from .rtmpdump import * diff --git a/src/you_get/processor/rtmpdump.py b/src/you_get/processor/rtmpdump.py new file mode 100644 index 00000000..c343bb85 --- /dev/null +++ b/src/you_get/processor/rtmpdump.py @@ -0,0 +1,31 @@ +#!/usr/bin/env python + +import os.path +import subprocess + +def get_usable_rtmpdump(cmd): + try: + p = subprocess.Popen([cmd], stdout=subprocess.PIPE, stderr=subprocess.PIPE) + out, err = p.communicate() + return cmd + except: + return None + +RTMPDUMP = get_usable_rtmpdump('rtmpdump') + +def has_rtmpdump_installed(): + return RTMPDUMP is not None + +def download_rtmpdump_stream(url, playpath, title, ext, output_dir='.'): + filename = '%s.%s' % (title, ext) + filepath = os.path.join(output_dir, filename) + + params = [RTMPDUMP, '-r'] + params.append(url) + params.append('-y') + params.append(playpath) + params.append('-o') + params.append(filepath) + + subprocess.call(params) + return