Can you determine the output format of an ffmpeg command?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







0















Is there an "easy" way to know the output format from a part of the ffmpeg "processing chain"? What I mean is: if I use, for example, a video decoder of h264_cuvid, it can have troubles being the input to a filter like yadif (vs. yadif_cuda).



Just trying to understand the pieces in the chain better, so I know determine what parts play together better.










share|improve this question































    0















    Is there an "easy" way to know the output format from a part of the ffmpeg "processing chain"? What I mean is: if I use, for example, a video decoder of h264_cuvid, it can have troubles being the input to a filter like yadif (vs. yadif_cuda).



    Just trying to understand the pieces in the chain better, so I know determine what parts play together better.










    share|improve this question



























      0












      0








      0








      Is there an "easy" way to know the output format from a part of the ffmpeg "processing chain"? What I mean is: if I use, for example, a video decoder of h264_cuvid, it can have troubles being the input to a filter like yadif (vs. yadif_cuda).



      Just trying to understand the pieces in the chain better, so I know determine what parts play together better.










      share|improve this question
















      Is there an "easy" way to know the output format from a part of the ffmpeg "processing chain"? What I mean is: if I use, for example, a video decoder of h264_cuvid, it can have troubles being the input to a filter like yadif (vs. yadif_cuda).



      Just trying to understand the pieces in the chain better, so I know determine what parts play together better.







      ffmpeg






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 10 at 10:35









      slhck

      163k47451476




      163k47451476










      asked Mar 9 at 1:48









      arrmoarrmo

      11




      11






















          2 Answers
          2






          active

          oldest

          votes


















          1














          No, the "processing chain" consists of various stages, e.g. transport protocol negotiation, filtering, encoding, to name a random few. For each stage, there are multiple choices, sometimes numbering in the dozens, for which module carries out the task. And all choices aren't determined based on the content of the input, but can also be the byproduct of a choice the user makes, like your manual choice of decoder, or a choice of a filter, which only accepts certain pixel formats. So, there isn't an easy way for a user, with a bird's eye view, to predict conflicts. The user has to dive into the details.






          share|improve this answer
























          • OK, that makes sense - thanks! But how to "dive into the details"? That's what I'm wanting to do, just not sure how to get the needed info.

            – arrmo
            Mar 10 at 12:03



















          -1














          Have you tried the "file" command?



          $ file something.avi 
          something.avi: RIFF (little-endian) data, AVI, 720 x 528, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)


          If "file" doesn't tell you enough, or if you're one of those annoying people like me who like to know all the details, there's a command that comes with ffmpeg called "ffprobe":



          $ ffprobe something.avi
          ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
          built with Apple LLVM version 10.0.0 (clang-1000.10.44.4)
          configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/cc --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
          libavutil 56. 22.100 / 56. 22.100
          libavcodec 58. 35.100 / 58. 35.100
          libavformat 58. 20.100 / 58. 20.100
          libavdevice 58. 5.100 / 58. 5.100
          libavfilter 7. 40.101 / 7. 40.101
          libavresample 4. 0. 0 / 4. 0. 0
          libswscale 5. 3.100 / 5. 3.100
          libswresample 3. 3.100 / 3. 3.100
          libpostproc 55. 3.100 / 55. 3.100
          Input #0, avi, from 'something.avi':
          Duration: 01:30:05.91, start: 0.000000, bitrate: 760 kb/s
          Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x528 [SAR 1:1 DAR 15:11], 665 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
          Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 81 kb/s





          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%2f1412565%2fcan-you-determine-the-output-format-of-an-ffmpeg-command%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









            1














            No, the "processing chain" consists of various stages, e.g. transport protocol negotiation, filtering, encoding, to name a random few. For each stage, there are multiple choices, sometimes numbering in the dozens, for which module carries out the task. And all choices aren't determined based on the content of the input, but can also be the byproduct of a choice the user makes, like your manual choice of decoder, or a choice of a filter, which only accepts certain pixel formats. So, there isn't an easy way for a user, with a bird's eye view, to predict conflicts. The user has to dive into the details.






            share|improve this answer
























            • OK, that makes sense - thanks! But how to "dive into the details"? That's what I'm wanting to do, just not sure how to get the needed info.

              – arrmo
              Mar 10 at 12:03
















            1














            No, the "processing chain" consists of various stages, e.g. transport protocol negotiation, filtering, encoding, to name a random few. For each stage, there are multiple choices, sometimes numbering in the dozens, for which module carries out the task. And all choices aren't determined based on the content of the input, but can also be the byproduct of a choice the user makes, like your manual choice of decoder, or a choice of a filter, which only accepts certain pixel formats. So, there isn't an easy way for a user, with a bird's eye view, to predict conflicts. The user has to dive into the details.






            share|improve this answer
























            • OK, that makes sense - thanks! But how to "dive into the details"? That's what I'm wanting to do, just not sure how to get the needed info.

              – arrmo
              Mar 10 at 12:03














            1












            1








            1







            No, the "processing chain" consists of various stages, e.g. transport protocol negotiation, filtering, encoding, to name a random few. For each stage, there are multiple choices, sometimes numbering in the dozens, for which module carries out the task. And all choices aren't determined based on the content of the input, but can also be the byproduct of a choice the user makes, like your manual choice of decoder, or a choice of a filter, which only accepts certain pixel formats. So, there isn't an easy way for a user, with a bird's eye view, to predict conflicts. The user has to dive into the details.






            share|improve this answer













            No, the "processing chain" consists of various stages, e.g. transport protocol negotiation, filtering, encoding, to name a random few. For each stage, there are multiple choices, sometimes numbering in the dozens, for which module carries out the task. And all choices aren't determined based on the content of the input, but can also be the byproduct of a choice the user makes, like your manual choice of decoder, or a choice of a filter, which only accepts certain pixel formats. So, there isn't an easy way for a user, with a bird's eye view, to predict conflicts. The user has to dive into the details.







            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Mar 9 at 6:08









            GyanGyan

            15.9k21848




            15.9k21848













            • OK, that makes sense - thanks! But how to "dive into the details"? That's what I'm wanting to do, just not sure how to get the needed info.

              – arrmo
              Mar 10 at 12:03



















            • OK, that makes sense - thanks! But how to "dive into the details"? That's what I'm wanting to do, just not sure how to get the needed info.

              – arrmo
              Mar 10 at 12:03

















            OK, that makes sense - thanks! But how to "dive into the details"? That's what I'm wanting to do, just not sure how to get the needed info.

            – arrmo
            Mar 10 at 12:03





            OK, that makes sense - thanks! But how to "dive into the details"? That's what I'm wanting to do, just not sure how to get the needed info.

            – arrmo
            Mar 10 at 12:03













            -1














            Have you tried the "file" command?



            $ file something.avi 
            something.avi: RIFF (little-endian) data, AVI, 720 x 528, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)


            If "file" doesn't tell you enough, or if you're one of those annoying people like me who like to know all the details, there's a command that comes with ffmpeg called "ffprobe":



            $ ffprobe something.avi
            ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
            built with Apple LLVM version 10.0.0 (clang-1000.10.44.4)
            configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/cc --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
            libavutil 56. 22.100 / 56. 22.100
            libavcodec 58. 35.100 / 58. 35.100
            libavformat 58. 20.100 / 58. 20.100
            libavdevice 58. 5.100 / 58. 5.100
            libavfilter 7. 40.101 / 7. 40.101
            libavresample 4. 0. 0 / 4. 0. 0
            libswscale 5. 3.100 / 5. 3.100
            libswresample 3. 3.100 / 3. 3.100
            libpostproc 55. 3.100 / 55. 3.100
            Input #0, avi, from 'something.avi':
            Duration: 01:30:05.91, start: 0.000000, bitrate: 760 kb/s
            Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x528 [SAR 1:1 DAR 15:11], 665 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
            Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 81 kb/s





            share|improve this answer




























              -1














              Have you tried the "file" command?



              $ file something.avi 
              something.avi: RIFF (little-endian) data, AVI, 720 x 528, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)


              If "file" doesn't tell you enough, or if you're one of those annoying people like me who like to know all the details, there's a command that comes with ffmpeg called "ffprobe":



              $ ffprobe something.avi
              ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
              built with Apple LLVM version 10.0.0 (clang-1000.10.44.4)
              configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/cc --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
              libavutil 56. 22.100 / 56. 22.100
              libavcodec 58. 35.100 / 58. 35.100
              libavformat 58. 20.100 / 58. 20.100
              libavdevice 58. 5.100 / 58. 5.100
              libavfilter 7. 40.101 / 7. 40.101
              libavresample 4. 0. 0 / 4. 0. 0
              libswscale 5. 3.100 / 5. 3.100
              libswresample 3. 3.100 / 3. 3.100
              libpostproc 55. 3.100 / 55. 3.100
              Input #0, avi, from 'something.avi':
              Duration: 01:30:05.91, start: 0.000000, bitrate: 760 kb/s
              Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x528 [SAR 1:1 DAR 15:11], 665 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
              Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 81 kb/s





              share|improve this answer


























                -1












                -1








                -1







                Have you tried the "file" command?



                $ file something.avi 
                something.avi: RIFF (little-endian) data, AVI, 720 x 528, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)


                If "file" doesn't tell you enough, or if you're one of those annoying people like me who like to know all the details, there's a command that comes with ffmpeg called "ffprobe":



                $ ffprobe something.avi
                ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
                built with Apple LLVM version 10.0.0 (clang-1000.10.44.4)
                configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/cc --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
                libavutil 56. 22.100 / 56. 22.100
                libavcodec 58. 35.100 / 58. 35.100
                libavformat 58. 20.100 / 58. 20.100
                libavdevice 58. 5.100 / 58. 5.100
                libavfilter 7. 40.101 / 7. 40.101
                libavresample 4. 0. 0 / 4. 0. 0
                libswscale 5. 3.100 / 5. 3.100
                libswresample 3. 3.100 / 3. 3.100
                libpostproc 55. 3.100 / 55. 3.100
                Input #0, avi, from 'something.avi':
                Duration: 01:30:05.91, start: 0.000000, bitrate: 760 kb/s
                Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x528 [SAR 1:1 DAR 15:11], 665 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
                Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 81 kb/s





                share|improve this answer













                Have you tried the "file" command?



                $ file something.avi 
                something.avi: RIFF (little-endian) data, AVI, 720 x 528, 23.98 fps, video: XviD, audio: MPEG-1 Layer 3 (stereo, 48000 Hz)


                If "file" doesn't tell you enough, or if you're one of those annoying people like me who like to know all the details, there's a command that comes with ffmpeg called "ffprobe":



                $ ffprobe something.avi
                ffprobe version 4.1 Copyright (c) 2007-2018 the FFmpeg developers
                built with Apple LLVM version 10.0.0 (clang-1000.10.44.4)
                configuration: --prefix=/opt/local --enable-swscale --enable-avfilter --enable-avresample --enable-libmp3lame --enable-libvorbis --enable-libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-libass --enable-libbluray --enable-lzma --enable-gnutls --enable-fontconfig --enable-libfreetype --enable-libfribidi --disable-libjack --disable-libopencore-amrnb --disable-libopencore-amrwb --disable-indev=jack --enable-opencl --disable-outdev=xv --enable-audiotoolbox --enable-videotoolbox --enable-sdl2 --disable-securetransport --mandir=/opt/local/share/man --enable-shared --enable-pthreads --cc=/usr/bin/cc --arch=x86_64 --enable-x86asm --enable-libx265 --enable-gpl --enable-postproc --enable-libx264 --enable-libxvid
                libavutil 56. 22.100 / 56. 22.100
                libavcodec 58. 35.100 / 58. 35.100
                libavformat 58. 20.100 / 58. 20.100
                libavdevice 58. 5.100 / 58. 5.100
                libavfilter 7. 40.101 / 7. 40.101
                libavresample 4. 0. 0 / 4. 0. 0
                libswscale 5. 3.100 / 5. 3.100
                libswresample 3. 3.100 / 3. 3.100
                libpostproc 55. 3.100 / 55. 3.100
                Input #0, avi, from 'something.avi':
                Duration: 01:30:05.91, start: 0.000000, bitrate: 760 kb/s
                Stream #0:0: Video: mpeg4 (Advanced Simple Profile) (XVID / 0x44495658), yuv420p, 720x528 [SAR 1:1 DAR 15:11], 665 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 23.98 tbc
                Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, fltp, 81 kb/s






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Mar 9 at 3:32









                Velo TravelerVelo Traveler

                1294




                1294






























                    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%2f1412565%2fcan-you-determine-the-output-format-of-an-ffmpeg-command%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 do I know what Microsoft account the skydrive app is syncing to?

                    Grease: Live!

                    When does type information flow backwards in C++?