|
About:
youtube-dl is a small command-line program for
downloading videos from YouTube.com.
Release focus: Code cleanup
Changes:
This version is a complete rewrite from scratch. It was needed in order to make the program more modular, ease adding support for more video sites and features, and make the program easier to integrate in bigger projects. This project restart has the same features as the previous version, plus some more that are explained in the program documentation. In addition, the license has changed to public domain.
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.13% (Rank 925)
» Popularity: 3.80% (Rank 1078)

(click to enlarge graphs)
Record hits: 51,011
URL hits: 18,418
Subscribers: 78
|
|
Branches
Releases
|
Version
|
Focus
|
Date
|
|
2008.08.09
|
Minor bugfixes |
09-Aug-2008 14:08 |
|
2008.07.26
|
Major feature enhancements |
26-Jul-2008 00:06 |
|
2008.07.22
|
Code cleanup |
22-Jul-2008 22:05 |
|
2008.06.08
|
Minor bugfixes |
08-Jun-2008 16:29 |
|
2008.04.20
|
Minor bugfixes |
20-Apr-2008 15:10 |
|
2008.04.07
|
Minor feature enhancements |
07-Apr-2008 21:22 |
|
2008.03.22
|
Minor bugfixes |
22-Mar-2008 00:17 |
|
2008.03.21
|
Minor feature enhancements |
21-Mar-2008 09:47 |
|
2008.03.08
|
Minor feature enhancements |
09-Mar-2008 11:26 |
|
2008.01.24
|
Major bugfixes |
24-Jan-2008 18:27 |
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]
|