How to find out the quality of the video?












0














If I do have multiple URL links for videos or audios, how can I determine which one has the best quality. Is there a header information, which tells me about the quality of the video - even the content type is different?



Example for Videos:




  • The content-type of the first URL is: video/3gpp

  • The content-type of the second URL is: video/mp4


Example for Audios:




  • The content-type of the first URL is: audio/3gpp

  • The content-type of the second URL is: audio/webm


Is it possible to compare them based on quality - which I get from the header information? Im asking this for URLs with only Audio and URLs with only Video (audio and video).










share|improve this question







New contributor




Emba Bakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • Do you have any example?
    – Biswapriyo
    Jan 3 at 20:00










  • Possibly you can check by going to the terminal/command line and running curl like this: curl -I [url of video] and the headers should tell you all kinds of details. But without knowing the URL you are testing against, this question is too broad.
    – JakeGould
    Jan 3 at 20:01










  • @Biswapriyo Unfortunately not. They are all internal videos, which are accessed by URL.
    – Emba Bakar
    Jan 3 at 20:02
















0














If I do have multiple URL links for videos or audios, how can I determine which one has the best quality. Is there a header information, which tells me about the quality of the video - even the content type is different?



Example for Videos:




  • The content-type of the first URL is: video/3gpp

  • The content-type of the second URL is: video/mp4


Example for Audios:




  • The content-type of the first URL is: audio/3gpp

  • The content-type of the second URL is: audio/webm


Is it possible to compare them based on quality - which I get from the header information? Im asking this for URLs with only Audio and URLs with only Video (audio and video).










share|improve this question







New contributor




Emba Bakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.




















  • Do you have any example?
    – Biswapriyo
    Jan 3 at 20:00










  • Possibly you can check by going to the terminal/command line and running curl like this: curl -I [url of video] and the headers should tell you all kinds of details. But without knowing the URL you are testing against, this question is too broad.
    – JakeGould
    Jan 3 at 20:01










  • @Biswapriyo Unfortunately not. They are all internal videos, which are accessed by URL.
    – Emba Bakar
    Jan 3 at 20:02














0












0








0







If I do have multiple URL links for videos or audios, how can I determine which one has the best quality. Is there a header information, which tells me about the quality of the video - even the content type is different?



Example for Videos:




  • The content-type of the first URL is: video/3gpp

  • The content-type of the second URL is: video/mp4


Example for Audios:




  • The content-type of the first URL is: audio/3gpp

  • The content-type of the second URL is: audio/webm


Is it possible to compare them based on quality - which I get from the header information? Im asking this for URLs with only Audio and URLs with only Video (audio and video).










share|improve this question







New contributor




Emba Bakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











If I do have multiple URL links for videos or audios, how can I determine which one has the best quality. Is there a header information, which tells me about the quality of the video - even the content type is different?



Example for Videos:




  • The content-type of the first URL is: video/3gpp

  • The content-type of the second URL is: video/mp4


Example for Audios:




  • The content-type of the first URL is: audio/3gpp

  • The content-type of the second URL is: audio/webm


Is it possible to compare them based on quality - which I get from the header information? Im asking this for URLs with only Audio and URLs with only Video (audio and video).







audio video video-streaming






share|improve this question







New contributor




Emba Bakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.











share|improve this question







New contributor




Emba Bakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this question




share|improve this question






New contributor




Emba Bakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









asked Jan 3 at 19:54









Emba BakarEmba Bakar

134




134




New contributor




Emba Bakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





Emba Bakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






Emba Bakar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.












  • Do you have any example?
    – Biswapriyo
    Jan 3 at 20:00










  • Possibly you can check by going to the terminal/command line and running curl like this: curl -I [url of video] and the headers should tell you all kinds of details. But without knowing the URL you are testing against, this question is too broad.
    – JakeGould
    Jan 3 at 20:01










  • @Biswapriyo Unfortunately not. They are all internal videos, which are accessed by URL.
    – Emba Bakar
    Jan 3 at 20:02


















  • Do you have any example?
    – Biswapriyo
    Jan 3 at 20:00










  • Possibly you can check by going to the terminal/command line and running curl like this: curl -I [url of video] and the headers should tell you all kinds of details. But without knowing the URL you are testing against, this question is too broad.
    – JakeGould
    Jan 3 at 20:01










  • @Biswapriyo Unfortunately not. They are all internal videos, which are accessed by URL.
    – Emba Bakar
    Jan 3 at 20:02
















Do you have any example?
– Biswapriyo
Jan 3 at 20:00




Do you have any example?
– Biswapriyo
Jan 3 at 20:00












Possibly you can check by going to the terminal/command line and running curl like this: curl -I [url of video] and the headers should tell you all kinds of details. But without knowing the URL you are testing against, this question is too broad.
– JakeGould
Jan 3 at 20:01




Possibly you can check by going to the terminal/command line and running curl like this: curl -I [url of video] and the headers should tell you all kinds of details. But without knowing the URL you are testing against, this question is too broad.
– JakeGould
Jan 3 at 20:01












@Biswapriyo Unfortunately not. They are all internal videos, which are accessed by URL.
– Emba Bakar
Jan 3 at 20:02




@Biswapriyo Unfortunately not. They are all internal videos, which are accessed by URL.
– Emba Bakar
Jan 3 at 20:02










2 Answers
2






active

oldest

votes


















2














The HTTP headers are unlikely to tell you anything more than the video or audio container format. But most modern video and audio container formats can have any number of different qualities of video or audio stored inside them. To know what quality the actual data inside the container file is, you'll have to begin downloading the file and look at the internal headers of the file (not the HTTP headers).



That said, since your example includes 3GPP HTTP content-types, I would guess that those are lower-quality than the MPEG-4 and WebM versions, because 3GPP video was originally designed as low-bitrate video that could easily stream across slow (by today's standards) early 3G networks to flip phones with tiny low-res screens from like 2006.






share|improve this answer





























    1














    This answer is just extension of Spiff's answer with real examples.



    For example, here I choose this video Running your First Docker Container in Azure from Channel9 MSDN. It has four file formats of that video. What I did? Answer: Use curl --head to show ONLY header of that HTTP/GET request which contains the Content-Type and Content-Length. Then download those. Use ffmpeg -i to show the downloaded video file encoding information (only important sections are provided below). Here are the three of them:




    1. Low quality MP4:


    $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure.mp4"
    Content-Length: 42,102,244
    Content-Type: video/mp4

    $> ffmpeg -i jay-gordon-docker-in-azure.mp4
    Duration: 00:17:54.05, start: 0.000000, bitrate: 313 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 210 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
    handler_name : ?Mainconcept Video Media Handler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
    Metadata:
    handler_name : #Mainconcept MP4 Sound Media Handler





    1. Mid Quality MP4:


    $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_mid.mp4"
    Content-Length: 129,621,802
    Content-Type: video/mp4

    $> ffmpeg -i jay-gordon-docker-in-azure_mid.mp4
    Duration: 00:17:54.05, start: 0.000000, bitrate: 965 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 828 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
    handler_name : ?Mainconcept Video Media Handler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
    handler_name : #Mainconcept MP4 Sound Media Handler





    1. High Quality MP4:


    $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_high.mp4"
    Content-Length: 385,374,160
    Content-Type: video/mp4

    $> ffmpeg -i jay-gordon-docker-in-azure_high.mp4
    Duration: 00:17:54.05, start: 0.000000, bitrate: 2870 kb/s
    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 2701 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
    Metadata:
    handler_name : ?Mainconcept Video Media Handler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
    handler_name : #Mainconcept MP4 Sound Media Handler




    Compare these three command output. As the quality increase Content-Length increase thus bitrate of audio and video. So, it may be possible to speculate the video quality from Content-Length in curl --head command but HTTP header does not provide full video encoding. To know more about the video encoding, one has to download the file. Only URL can not provide those information.





    • Used tools:




      • curl

      • aria2

      • ffmpeg









    share|improve this answer





















      Your Answer








      StackExchange.ready(function() {
      var channelOptions = {
      tags: "".split(" "),
      id: "3"
      };
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function() {
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled) {
      StackExchange.using("snippets", function() {
      createEditor();
      });
      }
      else {
      createEditor();
      }
      });

      function createEditor() {
      StackExchange.prepareEditor({
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader: {
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      },
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      });


      }
      });






      Emba Bakar is a new contributor. Be nice, and check out our Code of Conduct.










      draft saved

      draft discarded


















      StackExchange.ready(
      function () {
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1390285%2fhow-to-find-out-the-quality-of-the-video%23new-answer', 'question_page');
      }
      );

      Post as a guest















      Required, but never shown

























      2 Answers
      2






      active

      oldest

      votes








      2 Answers
      2






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      2














      The HTTP headers are unlikely to tell you anything more than the video or audio container format. But most modern video and audio container formats can have any number of different qualities of video or audio stored inside them. To know what quality the actual data inside the container file is, you'll have to begin downloading the file and look at the internal headers of the file (not the HTTP headers).



      That said, since your example includes 3GPP HTTP content-types, I would guess that those are lower-quality than the MPEG-4 and WebM versions, because 3GPP video was originally designed as low-bitrate video that could easily stream across slow (by today's standards) early 3G networks to flip phones with tiny low-res screens from like 2006.






      share|improve this answer


























        2














        The HTTP headers are unlikely to tell you anything more than the video or audio container format. But most modern video and audio container formats can have any number of different qualities of video or audio stored inside them. To know what quality the actual data inside the container file is, you'll have to begin downloading the file and look at the internal headers of the file (not the HTTP headers).



        That said, since your example includes 3GPP HTTP content-types, I would guess that those are lower-quality than the MPEG-4 and WebM versions, because 3GPP video was originally designed as low-bitrate video that could easily stream across slow (by today's standards) early 3G networks to flip phones with tiny low-res screens from like 2006.






        share|improve this answer
























          2












          2








          2






          The HTTP headers are unlikely to tell you anything more than the video or audio container format. But most modern video and audio container formats can have any number of different qualities of video or audio stored inside them. To know what quality the actual data inside the container file is, you'll have to begin downloading the file and look at the internal headers of the file (not the HTTP headers).



          That said, since your example includes 3GPP HTTP content-types, I would guess that those are lower-quality than the MPEG-4 and WebM versions, because 3GPP video was originally designed as low-bitrate video that could easily stream across slow (by today's standards) early 3G networks to flip phones with tiny low-res screens from like 2006.






          share|improve this answer












          The HTTP headers are unlikely to tell you anything more than the video or audio container format. But most modern video and audio container formats can have any number of different qualities of video or audio stored inside them. To know what quality the actual data inside the container file is, you'll have to begin downloading the file and look at the internal headers of the file (not the HTTP headers).



          That said, since your example includes 3GPP HTTP content-types, I would guess that those are lower-quality than the MPEG-4 and WebM versions, because 3GPP video was originally designed as low-bitrate video that could easily stream across slow (by today's standards) early 3G networks to flip phones with tiny low-res screens from like 2006.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered Jan 3 at 20:15









          SpiffSpiff

          76.6k10117162




          76.6k10117162

























              1














              This answer is just extension of Spiff's answer with real examples.



              For example, here I choose this video Running your First Docker Container in Azure from Channel9 MSDN. It has four file formats of that video. What I did? Answer: Use curl --head to show ONLY header of that HTTP/GET request which contains the Content-Type and Content-Length. Then download those. Use ffmpeg -i to show the downloaded video file encoding information (only important sections are provided below). Here are the three of them:




              1. Low quality MP4:


              $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure.mp4"
              Content-Length: 42,102,244
              Content-Type: video/mp4

              $> ffmpeg -i jay-gordon-docker-in-azure.mp4
              Duration: 00:17:54.05, start: 0.000000, bitrate: 313 kb/s
              Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 210 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
              Metadata:
              handler_name : ?Mainconcept Video Media Handler
              Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
              Metadata:
              handler_name : #Mainconcept MP4 Sound Media Handler





              1. Mid Quality MP4:


              $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_mid.mp4"
              Content-Length: 129,621,802
              Content-Type: video/mp4

              $> ffmpeg -i jay-gordon-docker-in-azure_mid.mp4
              Duration: 00:17:54.05, start: 0.000000, bitrate: 965 kb/s
              Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 828 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
              Metadata:
              handler_name : ?Mainconcept Video Media Handler
              Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
              Metadata:
              handler_name : #Mainconcept MP4 Sound Media Handler





              1. High Quality MP4:


              $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_high.mp4"
              Content-Length: 385,374,160
              Content-Type: video/mp4

              $> ffmpeg -i jay-gordon-docker-in-azure_high.mp4
              Duration: 00:17:54.05, start: 0.000000, bitrate: 2870 kb/s
              Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 2701 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
              Metadata:
              handler_name : ?Mainconcept Video Media Handler
              Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 160 kb/s (default)
              Metadata:
              handler_name : #Mainconcept MP4 Sound Media Handler




              Compare these three command output. As the quality increase Content-Length increase thus bitrate of audio and video. So, it may be possible to speculate the video quality from Content-Length in curl --head command but HTTP header does not provide full video encoding. To know more about the video encoding, one has to download the file. Only URL can not provide those information.





              • Used tools:




                • curl

                • aria2

                • ffmpeg









              share|improve this answer


























                1














                This answer is just extension of Spiff's answer with real examples.



                For example, here I choose this video Running your First Docker Container in Azure from Channel9 MSDN. It has four file formats of that video. What I did? Answer: Use curl --head to show ONLY header of that HTTP/GET request which contains the Content-Type and Content-Length. Then download those. Use ffmpeg -i to show the downloaded video file encoding information (only important sections are provided below). Here are the three of them:




                1. Low quality MP4:


                $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure.mp4"
                Content-Length: 42,102,244
                Content-Type: video/mp4

                $> ffmpeg -i jay-gordon-docker-in-azure.mp4
                Duration: 00:17:54.05, start: 0.000000, bitrate: 313 kb/s
                Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 210 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
                Metadata:
                handler_name : ?Mainconcept Video Media Handler
                Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
                Metadata:
                handler_name : #Mainconcept MP4 Sound Media Handler





                1. Mid Quality MP4:


                $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_mid.mp4"
                Content-Length: 129,621,802
                Content-Type: video/mp4

                $> ffmpeg -i jay-gordon-docker-in-azure_mid.mp4
                Duration: 00:17:54.05, start: 0.000000, bitrate: 965 kb/s
                Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 828 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
                Metadata:
                handler_name : ?Mainconcept Video Media Handler
                Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
                Metadata:
                handler_name : #Mainconcept MP4 Sound Media Handler





                1. High Quality MP4:


                $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_high.mp4"
                Content-Length: 385,374,160
                Content-Type: video/mp4

                $> ffmpeg -i jay-gordon-docker-in-azure_high.mp4
                Duration: 00:17:54.05, start: 0.000000, bitrate: 2870 kb/s
                Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 2701 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
                Metadata:
                handler_name : ?Mainconcept Video Media Handler
                Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 160 kb/s (default)
                Metadata:
                handler_name : #Mainconcept MP4 Sound Media Handler




                Compare these three command output. As the quality increase Content-Length increase thus bitrate of audio and video. So, it may be possible to speculate the video quality from Content-Length in curl --head command but HTTP header does not provide full video encoding. To know more about the video encoding, one has to download the file. Only URL can not provide those information.





                • Used tools:




                  • curl

                  • aria2

                  • ffmpeg









                share|improve this answer
























                  1












                  1








                  1






                  This answer is just extension of Spiff's answer with real examples.



                  For example, here I choose this video Running your First Docker Container in Azure from Channel9 MSDN. It has four file formats of that video. What I did? Answer: Use curl --head to show ONLY header of that HTTP/GET request which contains the Content-Type and Content-Length. Then download those. Use ffmpeg -i to show the downloaded video file encoding information (only important sections are provided below). Here are the three of them:




                  1. Low quality MP4:


                  $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure.mp4"
                  Content-Length: 42,102,244
                  Content-Type: video/mp4

                  $> ffmpeg -i jay-gordon-docker-in-azure.mp4
                  Duration: 00:17:54.05, start: 0.000000, bitrate: 313 kb/s
                  Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 210 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
                  Metadata:
                  handler_name : ?Mainconcept Video Media Handler
                  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
                  Metadata:
                  handler_name : #Mainconcept MP4 Sound Media Handler





                  1. Mid Quality MP4:


                  $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_mid.mp4"
                  Content-Length: 129,621,802
                  Content-Type: video/mp4

                  $> ffmpeg -i jay-gordon-docker-in-azure_mid.mp4
                  Duration: 00:17:54.05, start: 0.000000, bitrate: 965 kb/s
                  Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 828 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
                  Metadata:
                  handler_name : ?Mainconcept Video Media Handler
                  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
                  Metadata:
                  handler_name : #Mainconcept MP4 Sound Media Handler





                  1. High Quality MP4:


                  $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_high.mp4"
                  Content-Length: 385,374,160
                  Content-Type: video/mp4

                  $> ffmpeg -i jay-gordon-docker-in-azure_high.mp4
                  Duration: 00:17:54.05, start: 0.000000, bitrate: 2870 kb/s
                  Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 2701 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
                  Metadata:
                  handler_name : ?Mainconcept Video Media Handler
                  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 160 kb/s (default)
                  Metadata:
                  handler_name : #Mainconcept MP4 Sound Media Handler




                  Compare these three command output. As the quality increase Content-Length increase thus bitrate of audio and video. So, it may be possible to speculate the video quality from Content-Length in curl --head command but HTTP header does not provide full video encoding. To know more about the video encoding, one has to download the file. Only URL can not provide those information.





                  • Used tools:




                    • curl

                    • aria2

                    • ffmpeg









                  share|improve this answer












                  This answer is just extension of Spiff's answer with real examples.



                  For example, here I choose this video Running your First Docker Container in Azure from Channel9 MSDN. It has four file formats of that video. What I did? Answer: Use curl --head to show ONLY header of that HTTP/GET request which contains the Content-Type and Content-Length. Then download those. Use ffmpeg -i to show the downloaded video file encoding information (only important sections are provided below). Here are the three of them:




                  1. Low quality MP4:


                  $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure.mp4"
                  Content-Length: 42,102,244
                  Content-Type: video/mp4

                  $> ffmpeg -i jay-gordon-docker-in-azure.mp4
                  Duration: 00:17:54.05, start: 0.000000, bitrate: 313 kb/s
                  Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 640x360, 210 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
                  Metadata:
                  handler_name : ?Mainconcept Video Media Handler
                  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 96 kb/s (default)
                  Metadata:
                  handler_name : #Mainconcept MP4 Sound Media Handler





                  1. Mid Quality MP4:


                  $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_mid.mp4"
                  Content-Length: 129,621,802
                  Content-Type: video/mp4

                  $> ffmpeg -i jay-gordon-docker-in-azure_mid.mp4
                  Duration: 00:17:54.05, start: 0.000000, bitrate: 965 kb/s
                  Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1280x720, 828 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
                  Metadata:
                  handler_name : ?Mainconcept Video Media Handler
                  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
                  Metadata:
                  handler_name : #Mainconcept MP4 Sound Media Handler





                  1. High Quality MP4:


                  $> curl --head "https://sec.ch9.ms/ch9/7a84/8269395e-c022-4672-8b43-3cf1b5d57a84/jay-gordon-docker-in-azure_high.mp4"
                  Content-Length: 385,374,160
                  Content-Type: video/mp4

                  $> ffmpeg -i jay-gordon-docker-in-azure_high.mp4
                  Duration: 00:17:54.05, start: 0.000000, bitrate: 2870 kb/s
                  Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 2701 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
                  Metadata:
                  handler_name : ?Mainconcept Video Media Handler
                  Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 160 kb/s (default)
                  Metadata:
                  handler_name : #Mainconcept MP4 Sound Media Handler




                  Compare these three command output. As the quality increase Content-Length increase thus bitrate of audio and video. So, it may be possible to speculate the video quality from Content-Length in curl --head command but HTTP header does not provide full video encoding. To know more about the video encoding, one has to download the file. Only URL can not provide those information.





                  • Used tools:




                    • curl

                    • aria2

                    • ffmpeg










                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Jan 5 at 20:19









                  BiswapriyoBiswapriyo

                  2,70231241




                  2,70231241






















                      Emba Bakar is a new contributor. Be nice, and check out our Code of Conduct.










                      draft saved

                      draft discarded


















                      Emba Bakar is a new contributor. Be nice, and check out our Code of Conduct.













                      Emba Bakar is a new contributor. Be nice, and check out our Code of Conduct.












                      Emba Bakar is a new contributor. Be nice, and check out our Code of Conduct.
















                      Thanks for contributing an answer to Super User!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.





                      Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


                      Please pay close attention to the following guidance:


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid



                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.


                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function () {
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1390285%2fhow-to-find-out-the-quality-of-the-video%23new-answer', 'question_page');
                      }
                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      How to reconfigure Docker Trusted Registry 2.x.x to use CEPH FS mount instead of NFS and other traditional...

                      is 'sed' thread safe

                      How to make a Squid Proxy server?