Hardware for FFMPEG video encoding?











up vote
0
down vote

favorite












So I am trying to find out what the best way to transcode using FFMPEG would be on a commercial scale. I currently just have very CPU heavy cloud instances that run FFMPEG with parameters set as a balance between speed and quality. However I am now looking into a long term solution that will allow me to really transcode hundreds of video files daily maybe a few dozen at one time. So I looked into GPU acceleration and it seems due to the way the compression algorithms are structured CPU is generally faster than GPU anyway (more on that here). So next up is dedicated hardware, is there some sort of dedicated h.264 / h.264 encoder I could get and physically install in my server that would make FFMPEG transcoding blazing fast?










share|improve this question













migrated from stackoverflow.com Feb 13 at 1:14


This question came from our site for professional and enthusiast programmers.



















    up vote
    0
    down vote

    favorite












    So I am trying to find out what the best way to transcode using FFMPEG would be on a commercial scale. I currently just have very CPU heavy cloud instances that run FFMPEG with parameters set as a balance between speed and quality. However I am now looking into a long term solution that will allow me to really transcode hundreds of video files daily maybe a few dozen at one time. So I looked into GPU acceleration and it seems due to the way the compression algorithms are structured CPU is generally faster than GPU anyway (more on that here). So next up is dedicated hardware, is there some sort of dedicated h.264 / h.264 encoder I could get and physically install in my server that would make FFMPEG transcoding blazing fast?










    share|improve this question













    migrated from stackoverflow.com Feb 13 at 1:14


    This question came from our site for professional and enthusiast programmers.

















      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      So I am trying to find out what the best way to transcode using FFMPEG would be on a commercial scale. I currently just have very CPU heavy cloud instances that run FFMPEG with parameters set as a balance between speed and quality. However I am now looking into a long term solution that will allow me to really transcode hundreds of video files daily maybe a few dozen at one time. So I looked into GPU acceleration and it seems due to the way the compression algorithms are structured CPU is generally faster than GPU anyway (more on that here). So next up is dedicated hardware, is there some sort of dedicated h.264 / h.264 encoder I could get and physically install in my server that would make FFMPEG transcoding blazing fast?










      share|improve this question













      So I am trying to find out what the best way to transcode using FFMPEG would be on a commercial scale. I currently just have very CPU heavy cloud instances that run FFMPEG with parameters set as a balance between speed and quality. However I am now looking into a long term solution that will allow me to really transcode hundreds of video files daily maybe a few dozen at one time. So I looked into GPU acceleration and it seems due to the way the compression algorithms are structured CPU is generally faster than GPU anyway (more on that here). So next up is dedicated hardware, is there some sort of dedicated h.264 / h.264 encoder I could get and physically install in my server that would make FFMPEG transcoding blazing fast?







      video ffmpeg hardware-acceleration






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Feb 12 at 19:32









      CMOS

      1161




      1161




      migrated from stackoverflow.com Feb 13 at 1:14


      This question came from our site for professional and enthusiast programmers.






      migrated from stackoverflow.com Feb 13 at 1:14


      This question came from our site for professional and enthusiast programmers.
























          2 Answers
          2






          active

          oldest

          votes

















          up vote
          1
          down vote













          You need to understand that hardware encoders generally produce slightly lower quality images at the same bitrate (or larger files at the same quality). If that’s ok, your best options are quick sync on intel CPUs, or nvenc on Nvidia GPUs. If you go Nvidia, make sure you check the specs on the card, as most of them are limited to 2 parallel encodes.






          share|improve this answer




























            up vote
            0
            down vote













            Hardware encoders are generally used for live encoding, providing a lot more stability than software which relies on an general purpose operating system.



            Also Hardware encoders are limited to a certain set of options while software encoders are open for any thinkable option. Developing a hardware encoder costs multiple million dollars and it is not a flexible thing at all. E.g. Nvidia NVENC chips do not yet support any 4:2:2 colorspace profile (but future generations will do). Why is Nvidia not building encoder boards without all the graphics features? ...that is because because there is no money in this business.



            Assumed what you want is to store the encoded result as a "file on harddrive", hardware encoders is not the way to go for you. Any professional hardware encoder that i know is built for network distribution and "live" usage only.



            So, as long as you are in a cloud environment, you better use CPU encoding and just go for the CPU with highest frequency if you want speed.






            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',
              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%2f1294446%2fhardware-for-ffmpeg-video-encoding%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








              up vote
              1
              down vote













              You need to understand that hardware encoders generally produce slightly lower quality images at the same bitrate (or larger files at the same quality). If that’s ok, your best options are quick sync on intel CPUs, or nvenc on Nvidia GPUs. If you go Nvidia, make sure you check the specs on the card, as most of them are limited to 2 parallel encodes.






              share|improve this answer

























                up vote
                1
                down vote













                You need to understand that hardware encoders generally produce slightly lower quality images at the same bitrate (or larger files at the same quality). If that’s ok, your best options are quick sync on intel CPUs, or nvenc on Nvidia GPUs. If you go Nvidia, make sure you check the specs on the card, as most of them are limited to 2 parallel encodes.






                share|improve this answer























                  up vote
                  1
                  down vote










                  up vote
                  1
                  down vote









                  You need to understand that hardware encoders generally produce slightly lower quality images at the same bitrate (or larger files at the same quality). If that’s ok, your best options are quick sync on intel CPUs, or nvenc on Nvidia GPUs. If you go Nvidia, make sure you check the specs on the card, as most of them are limited to 2 parallel encodes.






                  share|improve this answer












                  You need to understand that hardware encoders generally produce slightly lower quality images at the same bitrate (or larger files at the same quality). If that’s ok, your best options are quick sync on intel CPUs, or nvenc on Nvidia GPUs. If you go Nvidia, make sure you check the specs on the card, as most of them are limited to 2 parallel encodes.







                  share|improve this answer












                  share|improve this answer



                  share|improve this answer










                  answered Feb 13 at 2:22









                  szatmary

                  1,671710




                  1,671710
























                      up vote
                      0
                      down vote













                      Hardware encoders are generally used for live encoding, providing a lot more stability than software which relies on an general purpose operating system.



                      Also Hardware encoders are limited to a certain set of options while software encoders are open for any thinkable option. Developing a hardware encoder costs multiple million dollars and it is not a flexible thing at all. E.g. Nvidia NVENC chips do not yet support any 4:2:2 colorspace profile (but future generations will do). Why is Nvidia not building encoder boards without all the graphics features? ...that is because because there is no money in this business.



                      Assumed what you want is to store the encoded result as a "file on harddrive", hardware encoders is not the way to go for you. Any professional hardware encoder that i know is built for network distribution and "live" usage only.



                      So, as long as you are in a cloud environment, you better use CPU encoding and just go for the CPU with highest frequency if you want speed.






                      share|improve this answer

























                        up vote
                        0
                        down vote













                        Hardware encoders are generally used for live encoding, providing a lot more stability than software which relies on an general purpose operating system.



                        Also Hardware encoders are limited to a certain set of options while software encoders are open for any thinkable option. Developing a hardware encoder costs multiple million dollars and it is not a flexible thing at all. E.g. Nvidia NVENC chips do not yet support any 4:2:2 colorspace profile (but future generations will do). Why is Nvidia not building encoder boards without all the graphics features? ...that is because because there is no money in this business.



                        Assumed what you want is to store the encoded result as a "file on harddrive", hardware encoders is not the way to go for you. Any professional hardware encoder that i know is built for network distribution and "live" usage only.



                        So, as long as you are in a cloud environment, you better use CPU encoding and just go for the CPU with highest frequency if you want speed.






                        share|improve this answer























                          up vote
                          0
                          down vote










                          up vote
                          0
                          down vote









                          Hardware encoders are generally used for live encoding, providing a lot more stability than software which relies on an general purpose operating system.



                          Also Hardware encoders are limited to a certain set of options while software encoders are open for any thinkable option. Developing a hardware encoder costs multiple million dollars and it is not a flexible thing at all. E.g. Nvidia NVENC chips do not yet support any 4:2:2 colorspace profile (but future generations will do). Why is Nvidia not building encoder boards without all the graphics features? ...that is because because there is no money in this business.



                          Assumed what you want is to store the encoded result as a "file on harddrive", hardware encoders is not the way to go for you. Any professional hardware encoder that i know is built for network distribution and "live" usage only.



                          So, as long as you are in a cloud environment, you better use CPU encoding and just go for the CPU with highest frequency if you want speed.






                          share|improve this answer












                          Hardware encoders are generally used for live encoding, providing a lot more stability than software which relies on an general purpose operating system.



                          Also Hardware encoders are limited to a certain set of options while software encoders are open for any thinkable option. Developing a hardware encoder costs multiple million dollars and it is not a flexible thing at all. E.g. Nvidia NVENC chips do not yet support any 4:2:2 colorspace profile (but future generations will do). Why is Nvidia not building encoder boards without all the graphics features? ...that is because because there is no money in this business.



                          Assumed what you want is to store the encoded result as a "file on harddrive", hardware encoders is not the way to go for you. Any professional hardware encoder that i know is built for network distribution and "live" usage only.



                          So, as long as you are in a cloud environment, you better use CPU encoding and just go for the CPU with highest frequency if you want speed.







                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered Nov 23 at 22:19









                          Harry

                          34419




                          34419






























                              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.





                              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%2f1294446%2fhardware-for-ffmpeg-video-encoding%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

                              Probability when a professor distributes a quiz and homework assignment to a class of n students.

                              Aardman Animations

                              Are they similar matrix