|
About:
youtube-dl is a small command-line program for
downloading videos from YouTube.com.
Release focus: Minor bugfixes
Changes:
This release makes it possible to use escaped URLs in addition to the normal ones. In addition, the program now tries to print more functional URLs instead of the final ones, which have been giving 403 errors lately when used directly in a download manager.
Author:
rg3 [contact developer]
Homepage:
http://www.arrakis.es/~rggi3/youtube-dl/
Trove categories:
[change]
Dependencies:
[change]
Python (required)
[download links]
|
|
» Rating:
8.72/10.00
(Rank N/A)
» Vitality: 0.20% (Rank 960)
» Popularity: 3.58% (Rank 1156)

(click to enlarge graphs)
Record hits: 45,420
URL hits: 17,121
Subscribers: 77
|
|
Branches
Releases
Comments
[»]
Target download directory and multiple download URLs
by amboar - Feb 18th 2008 06:41:13
I've written a couple of patches - one adds -d and --directory options
to specify a target directory for the the download(s). The other patch
allows multiple youtube links to be given as arguments to the script
Target directory patch: http://arienh.homeip.net/misc/youtube-dl/youtube-dl-target-dir.patch
Multiple link patch: http://arienh.homeip.net/misc/youtube-dl/youtube-dl-multi-url.patch
Combination patch (as they'll probably conflict due to the large
amount of indentation in the multi-link patch): http://arienh.homeip.net/misc/youtube-dl/youtube-dl-multi-url-and-dir.patch
Patches were made against the 2008.01.24 release
[reply]
[top]
[»]
patch to encode flv to mpeg
by umeboshi - Jan 29th 2008 17:36:11
This textarea entry seems to break the patch. I've emailed
you through fm, and that textarea is the same. Contact me
for proper patch. My freshmeat email needs updating. Don't
use it. I left my current email in other message.
--- youtube-dl 2008-01-29
19:14:00.000000000 -0600
+++ youtube-dl.new 2008-01-29
19:15:00.000000000 -0600
@@ -37,6 +37,7 @@
import sys
import time
import urllib2
+import subprocess
# Global constants
const_1k = 1024
@@ -210,6 +211,8 @@
cmdl_parser.add_option('-n', '--netrc',
action='store_true', dest='use_netrc',
help='use .netrc authentication data')
cmdl_parser.add_option('-g', '--get-url',
action='store_true', dest='get_url', help='print final
video URL only')
cmdl_parser.add_option('-2', '--title-too',
action='store_true', dest='get_title', help='used
with -g, print title too')
+cmdl_parser.add_option('-e', '--encode',
action='store_true', dest='encode', help='encode
video to mpeg')
+cmdl_parser.add_option('-k', '--keep-flv',
action='store_true', dest='keep_flv', help='keep
original flv when encoding mpeg')
(cmdl_opts, cmdl_args) = cmdl_parser.parse_args()
# Set socket timeout
@@ -383,5 +386,30 @@
except KeyboardInterrupt:
sys.exit('\n')
+# encode with ffmpeg
+if cmdl_opts.encode:
+ cond_print("encoding video to mpeg")
+ # this if statement needs to be fixed for
windows
+ if subprocess.call(('which','ffmpeg'),
stdout=file(os.devnull, 'w')):
+ sys.exit('Error: ffmpeg is needed to
encode to mpeg')
+ video_filename_root = video_filename
+ # chop .flv extension, if there
+ if video_filename.endswith('.flv'):
+ video_filename_root =
video_filename[:-4]
+ cmd = ('ffmpeg', '-i',
video_filename, '%s.mpg' % video_filename_root)
+ stdout = None
+ if cmdl_opts.quiet:
+ stdout = file(os.devnull, 'w')
+ err = subprocess.call(cmd, stdout=stdout,
stderr=stdout)
+ if not err:
+ cond_print("video %s encoded
successfully!\n" % video_filename)
+ if not cmdl_opts.keep_flv:
+ os.remove(video_filename)
+ else:
+ cond_print("keeping original
file %s\n" % video_filename)
+ else:
+ os.remove('%s.mpg' %
video_filename_root)
+ sys.exit("Error: This file won't encode to
mpeg, ffmpeg returned %d" % err)
+
# Finish
sys.exit()
[reply]
[top]
|