+ flv_size = os.stat(flv_filename).st_size
+ mp4_size = os.stat(mp4_filename).st_size
+ if abs(flv_size - mp4_size) < 0.05 * flv_size:
+ os.unlink(flv_filename)
+ else:
+ print >>sys.stderr, "The size of", mp4_filename, "is suspicious, did ffmpeg fail?"
+ except Exception, e:
+ print "Conversion failed", e
+
+def convert_filename(filename):
+ if os.path.splitext(filename.lower())[1] in (".mp4", ".flv"):
+ f = open(filename)
+ fourcc = f.read(4)
+ f.close()
+ if fourcc == "FLV\x01":
+ convert_flv_mp4(filename)
+
+def download_rtmp(filename, vbase, vpath, hash_url=None):
+ filename = sanify_filename(filename)
+ print "Downloading: %s" % filename
+ if vpath.endswith(".flv"):
+ vpath = vpath[:-4]
+ cmd = [
+ "rtmpdump",
+ "-o", filename,
+ "-r", vbase,
+ "-y", vpath,
+ ]
+ if hash_url is not None:
+ cmd += ["--swfVfy", hash_url]
+ if exec_subprocess(cmd):
+ convert_filename(filename)
+ return True
+ else:
+ return False
+
+def download_urllib(filename, url, referrer=None):
+ filename = sanify_filename(filename)
+ print "Downloading: %s" % filename
+ try:
+ src = _urlopen(url, referrer)