Video resolution when capturing a full-screen recording via ffmpeg on Mac OS X












1















I have a 15-inch 2017 MacBook Pro running Mac OS X 10.13 (High Sierra):
enter image description here
The default display supports screen resolutions up to 2880x1800, despite the maximum resolution selectable via the standard UI is limited to 1920x1200 (see this question):
enter image description here



Now, I'm trying to capture a full-screen recording via ffmpeg, using the avfoundation device, in full resolution (i. e. w/o any sub-sampling):



ffmpeg -y -v error -hide_banner -f avfoundation -i 1:none -threads 0 -f mp4 -vcodec mpeg4 -r 25/1 -qscale:v 1 output.mp4


Strangely, when the screen resolution varies between 1024x640 and 1920x1200 (i. e. is selectable via the "scaled list" in the Mac OS X preferences), the size of the resulting video raster is always a quadruple of the screen resolution:





  • 1024x6402048x1280

  • ...


  • 1920x12003840x2400


enter image description here



If, on the other hand, I set the screen resolution to the maximum of 2880x1800 using the screenresolution utility, the size of ffmpeg output will be identical to the screen resolution.



In both cases, the -video_size option will be ignored by ffmpeg.



The above is only true for the built-in display: for any external displays, screen resolution and captured video resolution are always the same, regardless of the scale level.



Questions:




  1. Why does ffmpeg (or, rather, the avfoundation input device) exhibit such inconsistencies?

  2. How do I force ffmpeg to always use the current display resolution when capturing the screen? I would rather not enable sub-sampling (-vf scale=...) to affect the resulting raster size.










share|improve this question



























    1















    I have a 15-inch 2017 MacBook Pro running Mac OS X 10.13 (High Sierra):
    enter image description here
    The default display supports screen resolutions up to 2880x1800, despite the maximum resolution selectable via the standard UI is limited to 1920x1200 (see this question):
    enter image description here



    Now, I'm trying to capture a full-screen recording via ffmpeg, using the avfoundation device, in full resolution (i. e. w/o any sub-sampling):



    ffmpeg -y -v error -hide_banner -f avfoundation -i 1:none -threads 0 -f mp4 -vcodec mpeg4 -r 25/1 -qscale:v 1 output.mp4


    Strangely, when the screen resolution varies between 1024x640 and 1920x1200 (i. e. is selectable via the "scaled list" in the Mac OS X preferences), the size of the resulting video raster is always a quadruple of the screen resolution:





    • 1024x6402048x1280

    • ...


    • 1920x12003840x2400


    enter image description here



    If, on the other hand, I set the screen resolution to the maximum of 2880x1800 using the screenresolution utility, the size of ffmpeg output will be identical to the screen resolution.



    In both cases, the -video_size option will be ignored by ffmpeg.



    The above is only true for the built-in display: for any external displays, screen resolution and captured video resolution are always the same, regardless of the scale level.



    Questions:




    1. Why does ffmpeg (or, rather, the avfoundation input device) exhibit such inconsistencies?

    2. How do I force ffmpeg to always use the current display resolution when capturing the screen? I would rather not enable sub-sampling (-vf scale=...) to affect the resulting raster size.










    share|improve this question

























      1












      1








      1








      I have a 15-inch 2017 MacBook Pro running Mac OS X 10.13 (High Sierra):
      enter image description here
      The default display supports screen resolutions up to 2880x1800, despite the maximum resolution selectable via the standard UI is limited to 1920x1200 (see this question):
      enter image description here



      Now, I'm trying to capture a full-screen recording via ffmpeg, using the avfoundation device, in full resolution (i. e. w/o any sub-sampling):



      ffmpeg -y -v error -hide_banner -f avfoundation -i 1:none -threads 0 -f mp4 -vcodec mpeg4 -r 25/1 -qscale:v 1 output.mp4


      Strangely, when the screen resolution varies between 1024x640 and 1920x1200 (i. e. is selectable via the "scaled list" in the Mac OS X preferences), the size of the resulting video raster is always a quadruple of the screen resolution:





      • 1024x6402048x1280

      • ...


      • 1920x12003840x2400


      enter image description here



      If, on the other hand, I set the screen resolution to the maximum of 2880x1800 using the screenresolution utility, the size of ffmpeg output will be identical to the screen resolution.



      In both cases, the -video_size option will be ignored by ffmpeg.



      The above is only true for the built-in display: for any external displays, screen resolution and captured video resolution are always the same, regardless of the scale level.



      Questions:




      1. Why does ffmpeg (or, rather, the avfoundation input device) exhibit such inconsistencies?

      2. How do I force ffmpeg to always use the current display resolution when capturing the screen? I would rather not enable sub-sampling (-vf scale=...) to affect the resulting raster size.










      share|improve this question














      I have a 15-inch 2017 MacBook Pro running Mac OS X 10.13 (High Sierra):
      enter image description here
      The default display supports screen resolutions up to 2880x1800, despite the maximum resolution selectable via the standard UI is limited to 1920x1200 (see this question):
      enter image description here



      Now, I'm trying to capture a full-screen recording via ffmpeg, using the avfoundation device, in full resolution (i. e. w/o any sub-sampling):



      ffmpeg -y -v error -hide_banner -f avfoundation -i 1:none -threads 0 -f mp4 -vcodec mpeg4 -r 25/1 -qscale:v 1 output.mp4


      Strangely, when the screen resolution varies between 1024x640 and 1920x1200 (i. e. is selectable via the "scaled list" in the Mac OS X preferences), the size of the resulting video raster is always a quadruple of the screen resolution:





      • 1024x6402048x1280

      • ...


      • 1920x12003840x2400


      enter image description here



      If, on the other hand, I set the screen resolution to the maximum of 2880x1800 using the screenresolution utility, the size of ffmpeg output will be identical to the screen resolution.



      In both cases, the -video_size option will be ignored by ffmpeg.



      The above is only true for the built-in display: for any external displays, screen resolution and captured video resolution are always the same, regardless of the scale level.



      Questions:




      1. Why does ffmpeg (or, rather, the avfoundation input device) exhibit such inconsistencies?

      2. How do I force ffmpeg to always use the current display resolution when capturing the screen? I would rather not enable sub-sampling (-vf scale=...) to affect the resulting raster size.







      video ffmpeg resolution macos-highsierra screen-recorder






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 9 at 12:44









      BassBass

      454614




      454614






















          1 Answer
          1






          active

          oldest

          votes


















          0














          This appears to be a known ffmpeg issue: Should retain pixel density metadata from HiDPI/Retina screen recordings.






          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
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1392278%2fvideo-resolution-when-capturing-a-full-screen-recording-via-ffmpeg-on-mac-os-x%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            1 Answer
            1






            active

            oldest

            votes








            1 Answer
            1






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            This appears to be a known ffmpeg issue: Should retain pixel density metadata from HiDPI/Retina screen recordings.






            share|improve this answer




























              0














              This appears to be a known ffmpeg issue: Should retain pixel density metadata from HiDPI/Retina screen recordings.






              share|improve this answer


























                0












                0








                0







                This appears to be a known ffmpeg issue: Should retain pixel density metadata from HiDPI/Retina screen recordings.






                share|improve this answer













                This appears to be a known ffmpeg issue: Should retain pixel density metadata from HiDPI/Retina screen recordings.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Jan 10 at 7:45









                BassBass

                454614




                454614






























                    draft saved

                    draft discarded




















































                    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.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1392278%2fvideo-resolution-when-capturing-a-full-screen-recording-via-ffmpeg-on-mac-os-x%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

                    Список кардиналов, возведённых папой римским Каликстом III

                    Deduzione

                    Mysql.sock missing - “Can't connect to local MySQL server through socket”