ytdl-org / youtube-dl

Command-line program to download videos from YouTube.com and other video sites
http://ytdl-org.github.io/youtube-dl/
The Unlicense
132.33k stars 10.03k forks source link

Custom output template #19307

Closed samhagin closed 5 years ago

samhagin commented 5 years ago

Please follow the guide below


Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2019.02.18. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

Before submitting an issue make sure you have:

What is the purpose of your issue?


The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue


If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:

Add the -v flag to your command line you run youtube-dl with (youtube-dl -v <your command line>), copy the whole output and insert it here. It should look similar to one below (replace it with your log inserted between triple ```):

[debug] System config: []
[debug] User config: []
[debug] Command-line args: [u'-v', u'http://www.youtube.com/watch?v=BaW_jenozKcj']
[debug] Encodings: locale cp1251, fs mbcs, out cp866, pref cp1251
[debug] youtube-dl version 2019.02.18
[debug] Python version 2.7.11 - Windows-2003Server-5.2.3790-SP2
[debug] exe versions: ffmpeg N-75573-g1d0487f, ffprobe N-75573-g1d0487f, rtmpdump 2.4
[debug] Proxy map: {}
...
<end of log>

If the purpose of this issue is a site support request please provide all kinds of example URLs support for which should be included (replace following example URLs by yours):

Note that youtube-dl does not support sites dedicated to copyright infringement. In order for site support request to be accepted all provided example URLs should not violate any copyrights.


Description of your issue, suggested solution and other information

I'm using youtube-dl in https://github.com/samhagin/linuxacademy-dl/blob/master/download.py to download videos from Linux Academy. Using the output template %(autonumber)s-%(title)s.%(ext)s, simply names the videos as 0001-Linux-Academy.mp4, is it possible to create a custom output template so the file is actually named after text I extract as part of my script? Simply put, instead using the prefined output templates, I want to be able to define one myself. Alternatively, if someone can share code on how to create a custom postprocessor ( not using exec_cmd but via Python ) for renaming the file after download, that will work also

Thanks

dstftw commented 5 years ago

You must extract metadata in _real_extract to be used with output template mechanisms. If not using output template mechanisms then use fixed output template and do the renaming yourself. Also this is all pointless since linuxacademy is already supported natively.