Add a "--get-size" option #7535

Closed
opened 2026-02-21 02:43:23 -05:00 by deekerman · 14 comments
Owner

Originally created by @sebma on GitHub (Apr 12, 2016).

Please follow the guide below

  • You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
  • Put an x into all the boxes [ ] relevant to your issue (like that [x])
  • Use Preview tab to see how your issue will actually look like

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

  • I've verified and I assure that I'm running youtube-dl 2016.04.06

Before submitting an issue make sure you have:

  • At least skimmed through README and most notably FAQ and BUGS sections
  • Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

  • Bug report (encountered problems with youtube-dl)
  • Site support request (request for adding support for a new site)
  • Feature request (request for a new functionality)
  • Question
  • Other

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

$ youtube-dl -v <your command line>
[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 2016.04.06
[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):


Description of your issue, suggested solution and other information

Explanation of your issue in arbitrary form goes here. Please make sure the description is worded well enough to be understood. Provide as much context and examples as possible.

If work on your issue required an account credentials please provide them or explain how one can obtain them.

Hi, can you add a "--get-size" option ?

Originally created by @sebma on GitHub (Apr 12, 2016). ## Please follow the guide below - You will be asked some questions and requested to provide some information, please read them **carefully** and answer honestly - Put an `x` into all the boxes [ ] relevant to your _issue_ (like that [x]) - Use _Preview_ tab to see how your issue will actually look like --- ### Make sure you are using the _latest_ version: run `youtube-dl --version` and ensure your version is _2016.04.06_. If it's not read [this FAQ entry](https://github.com/rg3/youtube-dl/blob/master/README.md#how-do-i-update-youtube-dl) and update. Issues with outdated version will be rejected. - [x] I've **verified** and **I assure** that I'm running youtube-dl **2016.04.06** ### Before submitting an _issue_ make sure you have: - [x] At least skimmed through [README](https://github.com/rg3/youtube-dl/blob/master/README.md) and **most notably** [FAQ](https://github.com/rg3/youtube-dl#faq) and [BUGS](https://github.com/rg3/youtube-dl#bugs) sections - [x] [Searched](https://github.com/rg3/youtube-dl/search?type=Issues) the bugtracker for similar issues including closed ones ### What is the purpose of your _issue_? - [ ] Bug report (encountered problems with youtube-dl) - [ ] Site support request (request for adding support for a new site) - [x] Feature request (request for a new functionality) - [x] Question - [ ] Other --- ### 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 `-v` flag to **your command line** you run youtube-dl with, copy the **whole** output and insert it here. It should look similar to one below (replace it with **your** log inserted between triple ```): ``` $ youtube-dl -v <your command line> [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 2016.04.06 [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**): - Single video: https://www.youtube.com/watch?v=BaW_jenozKc - Single video: https://youtu.be/BaW_jenozKc - Playlist: https://www.youtube.com/playlist?list=PL4lCao7KL_QFVb7Iudeipvc2BCavECqzc --- ### Description of your _issue_, suggested solution and other information Explanation of your _issue_ in arbitrary form goes here. Please make sure the [description is worded well enough to be understood](https://github.com/rg3/youtube-dl#is-the-description-of-the-issue-itself-sufficient). Provide as much context and examples as possible. ## If work on your _issue_ required an account credentials please provide them or explain how one can obtain them. Hi, can you add a "--get-size" option ?
Author
Owner

@dstftw commented on GitHub (Apr 12, 2016):

No, use filesize metafield from format dictionary of JSON output.

@dstftw commented on GitHub (Apr 12, 2016): No, use `filesize` metafield from format dictionary of JSON output.
Author
Owner

@sebma commented on GitHub (Apr 12, 2016):

How do I print the filesize from the command line using JSON output ?

@sebma commented on GitHub (Apr 12, 2016): How do I print the filesize from the command line using JSON output ?
Author
Owner

@dstftw commented on GitHub (Apr 12, 2016):

E.g. parse --dump-json with jq.

@dstftw commented on GitHub (Apr 12, 2016): E.g. parse `--dump-json` with `jq`.
Author
Owner

@sebma commented on GitHub (Apr 12, 2016):

Here is what I get with jq

youtube-dl -f18 -j http://www.youtube.com/watch?v=29S1T7RNHGM | jq '.filesize'
null

Can you be more precise ?

@sebma commented on GitHub (Apr 12, 2016): Here is what I get with `jq` ``` youtube-dl -f18 -j http://www.youtube.com/watch?v=29S1T7RNHGM | jq '.filesize' null ``` Can you be more precise ?
Author
Owner

@hrxn commented on GitHub (Apr 13, 2016):

I don't have jq right now, but you can test inputs/outputs here: https://jqplay.org/

@hrxn commented on GitHub (Apr 13, 2016): I don't have `jq` right now, but you can test inputs/outputs here: https://jqplay.org/
Author
Owner

@yan12125 commented on GitHub (Apr 13, 2016):

YouTube does not provide all filesize information for all formats. In this example only DASH formats have the size information.

$ youtube-dl -f 133 -j http://www.youtube.com/watch?v=29S1T7RNHGM | jq .filesize 
140629453
@yan12125 commented on GitHub (Apr 13, 2016): YouTube does not provide all filesize information for all formats. In this example only DASH formats have the size information. ``` $ youtube-dl -f 133 -j http://www.youtube.com/watch?v=29S1T7RNHGM | jq .filesize 140629453 ```
Author
Owner

@sebma commented on GitHub (Apr 13, 2016):

Hi,

If "YouTube does not provide all filesize information for all formats", why not use the "Content-Length" found in the HTTP headers to implement the --get-size option, example:

curl -sI "$(youtube-dl -g -f 18 http://www.youtube.com/watch?v=29S1T7RNHGM)" | awk '/Content-Length:/{printf "%.2f MiB\n", $2/2^20}'

@sebma commented on GitHub (Apr 13, 2016): Hi, If "YouTube does not provide all filesize information for all formats", why not use the "Content-Length" found in the HTTP headers to implement the `--get-size` option, example: `curl -sI "$(youtube-dl -g -f 18 http://www.youtube.com/watch?v=29S1T7RNHGM)" | awk '/Content-Length:/{printf "%.2f MiB\n", $2/2^20}'`
Author
Owner

@yan12125 commented on GitHub (Apr 13, 2016):

Content-Length is not available before you really starts the download. Data reported by -j are extracted from web pages and API responses.

@yan12125 commented on GitHub (Apr 13, 2016): `Content-Length` is not available before you really starts the download. Data reported by `-j` are extracted from web pages and API responses.
Author
Owner

@sebma commented on GitHub (Apr 13, 2016):

Why not use a curl subprocess or libcurl to extract Content-Length ?

@sebma commented on GitHub (Apr 13, 2016): Why not use a `curl` subprocess or libcurl to extract `Content-Length` ?
Author
Owner

@yan12125 commented on GitHub (Apr 13, 2016):

A reason is that querying the filesize for all formats takes a long time. This can be a feature request if the additional time cost is tolerable. If you're interested in only one format - just do the curl call.

@yan12125 commented on GitHub (Apr 13, 2016): A reason is that querying the filesize for all formats takes a long time. This can be a feature request if the additional time cost is tolerable. If you're interested in only one format - just do the curl call.
Author
Owner

@sebma commented on GitHub (Apr 13, 2016):

"querying the filesize for all formats" does not make any sense according to me.
I am only interested in only one format.

Why not include the curl or libcurl call in youtube-dl instead ?

@sebma commented on GitHub (Apr 13, 2016): "querying the filesize for all formats" does not make any sense according to me. I am only interested in only one format. Why not include the `curl` or `libcurl` call in `youtube-dl` instead ?
Author
Owner

@yan12125 commented on GitHub (Apr 13, 2016):

It's possible with pure Python. This ticket is actually a duplicate of #190 and #6. Sorry for not noticing previous ones at first.

@yan12125 commented on GitHub (Apr 13, 2016): It's possible with pure Python. This ticket is actually a duplicate of #190 and #6. Sorry for not noticing previous ones at first.
Author
Owner

@sebma commented on GitHub (Apr 13, 2016):

The problem is that this issue and issue #190 are both closed :(

Shall I subscribe to issue #6 to be kept up to date ?

@sebma commented on GitHub (Apr 13, 2016): The problem is that this issue and issue #190 are both closed :( Shall I subscribe to issue #6 to be kept up to date ?
Author
Owner

@yan12125 commented on GitHub (Apr 13, 2016):

Shall I subscript to issue #6 to be kept up to date ?

yes.

@yan12125 commented on GitHub (Apr 13, 2016): > Shall I subscript to issue #6 to be kept up to date ? yes.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/youtube-dl#7535
No description provided.