How can I convert a 1080p wmv video to a 720p video?












14















I have a 1080p wmv video that I'd like to convert to a lower quality (preferably 720p) video. I would like to keep the audio intact. How can I accomplish this in Ubuntu?










share|improve this question



























    14















    I have a 1080p wmv video that I'd like to convert to a lower quality (preferably 720p) video. I would like to keep the audio intact. How can I accomplish this in Ubuntu?










    share|improve this question

























      14












      14








      14


      5






      I have a 1080p wmv video that I'd like to convert to a lower quality (preferably 720p) video. I would like to keep the audio intact. How can I accomplish this in Ubuntu?










      share|improve this question














      I have a 1080p wmv video that I'd like to convert to a lower quality (preferably 720p) video. I would like to keep the audio intact. How can I accomplish this in Ubuntu?







      video ffmpeg convert hd-video






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked Jan 29 '12 at 18:59









      JamesJames

      70551627




      70551627






















          3 Answers
          3






          active

          oldest

          votes


















          16














          Since you used an ffmpeg tag I will use that for the answer.



          ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4


          Change the video quality by specifying a different CRF parameter. See the x264 encoding guide for more info.






          share|improve this answer





















          • 1





            Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.

            – juanmah
            Apr 4 '13 at 9:15











          • According to ffmpeg's wiki, this can be as simple as: ffmpeg -i input.avi -vf scale=-1:720 output.avi

            – andersonvom
            Feb 9 '17 at 17:35



















          4














          Time has moved on a little since the original accepted answer for this question in 2012. Newer versions of FFmpeg would be better to use FFmpeg's 'scale' video filter.



          I give an example below, using this filter, which also simply copies the audio track as you have requested:



          ffmpeg -i input.wmv 
          -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
          -c:a copy
          output.mp4


          The -tune film option given above can be omitted or you could try -tune animation depending on the type of video clip you are using.



          If you decided that you would like to transcode the audio a good choice would be to use the external library libfdk_aac as follows:



          ffmpeg -i input.wmv 
          -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
          -c:a libfdk_aac -b:a 128k
          output.mp4


          This is certainly what I would do with a wmv file that I was scaling, you will find the results more than acceptable...






          share|improve this answer

































            1














            If you want to keep intact all the audio tracks, subtitles and so on, you should use something like this:



            ffmpeg -i input.mkv 
            -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
            -vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow
            -c:a:0 copy -c:a:1 copy -c:s copy
            output.mkv


            In this case, the input.mkv file has two audio tracks and two subtitles. You can specify all the audio tracks (or subtitles, or videos, etc.) one by one or as a single entity (as I specified for subtitles).



            Hope it helps...






            share|improve this answer





















            • 1





              You don't need to specify each stream in the manner above: -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 Instead, you can simply specify -map 0 instead. This will automatically select all streams in input 0. similar with audio copy codecs. The only codec options you need to specify are -c:copy -c:v libx264. This means: "set all stream codecs to copy, except video which should transcode to x264."

              – Cheekysoft
              May 26 '16 at 14:59













            • Equivalent (showing parameter ordering): ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv

              – Cheekysoft
              May 26 '16 at 15:07












            protected by Community Oct 13 '16 at 3:21



            Thank you for your interest in this question.
            Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



            Would you like to answer one of these unanswered questions instead?














            3 Answers
            3






            active

            oldest

            votes








            3 Answers
            3






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            16














            Since you used an ffmpeg tag I will use that for the answer.



            ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4


            Change the video quality by specifying a different CRF parameter. See the x264 encoding guide for more info.






            share|improve this answer





















            • 1





              Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.

              – juanmah
              Apr 4 '13 at 9:15











            • According to ffmpeg's wiki, this can be as simple as: ffmpeg -i input.avi -vf scale=-1:720 output.avi

              – andersonvom
              Feb 9 '17 at 17:35
















            16














            Since you used an ffmpeg tag I will use that for the answer.



            ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4


            Change the video quality by specifying a different CRF parameter. See the x264 encoding guide for more info.






            share|improve this answer





















            • 1





              Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.

              – juanmah
              Apr 4 '13 at 9:15











            • According to ffmpeg's wiki, this can be as simple as: ffmpeg -i input.avi -vf scale=-1:720 output.avi

              – andersonvom
              Feb 9 '17 at 17:35














            16












            16








            16







            Since you used an ffmpeg tag I will use that for the answer.



            ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4


            Change the video quality by specifying a different CRF parameter. See the x264 encoding guide for more info.






            share|improve this answer















            Since you used an ffmpeg tag I will use that for the answer.



            ffmpeg -i input.wmv -s hd720 -c:v libx264 -crf 23 -c:a aac -strict -2 output.mp4


            Change the video quality by specifying a different CRF parameter. See the x264 encoding guide for more info.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Oct 2 '18 at 12:18









            The_Modeler

            33




            33










            answered Jan 29 '12 at 19:08









            duffydackduffydack

            5,53621716




            5,53621716








            • 1





              Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.

              – juanmah
              Apr 4 '13 at 9:15











            • According to ffmpeg's wiki, this can be as simple as: ffmpeg -i input.avi -vf scale=-1:720 output.avi

              – andersonvom
              Feb 9 '17 at 17:35














            • 1





              Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.

              – juanmah
              Apr 4 '13 at 9:15











            • According to ffmpeg's wiki, this can be as simple as: ffmpeg -i input.avi -vf scale=-1:720 output.avi

              – andersonvom
              Feb 9 '17 at 17:35








            1




            1





            Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.

            – juanmah
            Apr 4 '13 at 9:15





            Option 'sameq' was removed. If you are looking for an option to preserve the quality (which is not what -sameq was for), use -qscale 0 or an equivalent quality factor option.

            – juanmah
            Apr 4 '13 at 9:15













            According to ffmpeg's wiki, this can be as simple as: ffmpeg -i input.avi -vf scale=-1:720 output.avi

            – andersonvom
            Feb 9 '17 at 17:35





            According to ffmpeg's wiki, this can be as simple as: ffmpeg -i input.avi -vf scale=-1:720 output.avi

            – andersonvom
            Feb 9 '17 at 17:35













            4














            Time has moved on a little since the original accepted answer for this question in 2012. Newer versions of FFmpeg would be better to use FFmpeg's 'scale' video filter.



            I give an example below, using this filter, which also simply copies the audio track as you have requested:



            ffmpeg -i input.wmv 
            -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
            -c:a copy
            output.mp4


            The -tune film option given above can be omitted or you could try -tune animation depending on the type of video clip you are using.



            If you decided that you would like to transcode the audio a good choice would be to use the external library libfdk_aac as follows:



            ffmpeg -i input.wmv 
            -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
            -c:a libfdk_aac -b:a 128k
            output.mp4


            This is certainly what I would do with a wmv file that I was scaling, you will find the results more than acceptable...






            share|improve this answer






























              4














              Time has moved on a little since the original accepted answer for this question in 2012. Newer versions of FFmpeg would be better to use FFmpeg's 'scale' video filter.



              I give an example below, using this filter, which also simply copies the audio track as you have requested:



              ffmpeg -i input.wmv 
              -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
              -c:a copy
              output.mp4


              The -tune film option given above can be omitted or you could try -tune animation depending on the type of video clip you are using.



              If you decided that you would like to transcode the audio a good choice would be to use the external library libfdk_aac as follows:



              ffmpeg -i input.wmv 
              -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
              -c:a libfdk_aac -b:a 128k
              output.mp4


              This is certainly what I would do with a wmv file that I was scaling, you will find the results more than acceptable...






              share|improve this answer




























                4












                4








                4







                Time has moved on a little since the original accepted answer for this question in 2012. Newer versions of FFmpeg would be better to use FFmpeg's 'scale' video filter.



                I give an example below, using this filter, which also simply copies the audio track as you have requested:



                ffmpeg -i input.wmv 
                -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
                -c:a copy
                output.mp4


                The -tune film option given above can be omitted or you could try -tune animation depending on the type of video clip you are using.



                If you decided that you would like to transcode the audio a good choice would be to use the external library libfdk_aac as follows:



                ffmpeg -i input.wmv 
                -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
                -c:a libfdk_aac -b:a 128k
                output.mp4


                This is certainly what I would do with a wmv file that I was scaling, you will find the results more than acceptable...






                share|improve this answer















                Time has moved on a little since the original accepted answer for this question in 2012. Newer versions of FFmpeg would be better to use FFmpeg's 'scale' video filter.



                I give an example below, using this filter, which also simply copies the audio track as you have requested:



                ffmpeg -i input.wmv 
                -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
                -c:a copy
                output.mp4


                The -tune film option given above can be omitted or you could try -tune animation depending on the type of video clip you are using.



                If you decided that you would like to transcode the audio a good choice would be to use the external library libfdk_aac as follows:



                ffmpeg -i input.wmv 
                -c:v libx264 -preset veryslow -tune film -crf 22 -vf scale=-2:720
                -c:a libfdk_aac -b:a 128k
                output.mp4


                This is certainly what I would do with a wmv file that I was scaling, you will find the results more than acceptable...







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Mar 1 at 21:16

























                answered May 26 '14 at 9:22









                andrew.46andrew.46

                22.2k1470150




                22.2k1470150























                    1














                    If you want to keep intact all the audio tracks, subtitles and so on, you should use something like this:



                    ffmpeg -i input.mkv 
                    -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
                    -vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow
                    -c:a:0 copy -c:a:1 copy -c:s copy
                    output.mkv


                    In this case, the input.mkv file has two audio tracks and two subtitles. You can specify all the audio tracks (or subtitles, or videos, etc.) one by one or as a single entity (as I specified for subtitles).



                    Hope it helps...






                    share|improve this answer





















                    • 1





                      You don't need to specify each stream in the manner above: -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 Instead, you can simply specify -map 0 instead. This will automatically select all streams in input 0. similar with audio copy codecs. The only codec options you need to specify are -c:copy -c:v libx264. This means: "set all stream codecs to copy, except video which should transcode to x264."

                      – Cheekysoft
                      May 26 '16 at 14:59













                    • Equivalent (showing parameter ordering): ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv

                      – Cheekysoft
                      May 26 '16 at 15:07


















                    1














                    If you want to keep intact all the audio tracks, subtitles and so on, you should use something like this:



                    ffmpeg -i input.mkv 
                    -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
                    -vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow
                    -c:a:0 copy -c:a:1 copy -c:s copy
                    output.mkv


                    In this case, the input.mkv file has two audio tracks and two subtitles. You can specify all the audio tracks (or subtitles, or videos, etc.) one by one or as a single entity (as I specified for subtitles).



                    Hope it helps...






                    share|improve this answer





















                    • 1





                      You don't need to specify each stream in the manner above: -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 Instead, you can simply specify -map 0 instead. This will automatically select all streams in input 0. similar with audio copy codecs. The only codec options you need to specify are -c:copy -c:v libx264. This means: "set all stream codecs to copy, except video which should transcode to x264."

                      – Cheekysoft
                      May 26 '16 at 14:59













                    • Equivalent (showing parameter ordering): ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv

                      – Cheekysoft
                      May 26 '16 at 15:07
















                    1












                    1








                    1







                    If you want to keep intact all the audio tracks, subtitles and so on, you should use something like this:



                    ffmpeg -i input.mkv 
                    -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
                    -vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow
                    -c:a:0 copy -c:a:1 copy -c:s copy
                    output.mkv


                    In this case, the input.mkv file has two audio tracks and two subtitles. You can specify all the audio tracks (or subtitles, or videos, etc.) one by one or as a single entity (as I specified for subtitles).



                    Hope it helps...






                    share|improve this answer















                    If you want to keep intact all the audio tracks, subtitles and so on, you should use something like this:



                    ffmpeg -i input.mkv 
                    -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4
                    -vf scale=-1:720 -c:v libx264 -crf 18 -preset veryslow
                    -c:a:0 copy -c:a:1 copy -c:s copy
                    output.mkv


                    In this case, the input.mkv file has two audio tracks and two subtitles. You can specify all the audio tracks (or subtitles, or videos, etc.) one by one or as a single entity (as I specified for subtitles).



                    Hope it helps...







                    share|improve this answer














                    share|improve this answer



                    share|improve this answer








                    edited Feb 14 '16 at 9:55









                    andrew.46

                    22.2k1470150




                    22.2k1470150










                    answered Jun 17 '14 at 14:17









                    adsuaradsuar

                    1164




                    1164








                    • 1





                      You don't need to specify each stream in the manner above: -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 Instead, you can simply specify -map 0 instead. This will automatically select all streams in input 0. similar with audio copy codecs. The only codec options you need to specify are -c:copy -c:v libx264. This means: "set all stream codecs to copy, except video which should transcode to x264."

                      – Cheekysoft
                      May 26 '16 at 14:59













                    • Equivalent (showing parameter ordering): ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv

                      – Cheekysoft
                      May 26 '16 at 15:07
















                    • 1





                      You don't need to specify each stream in the manner above: -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 Instead, you can simply specify -map 0 instead. This will automatically select all streams in input 0. similar with audio copy codecs. The only codec options you need to specify are -c:copy -c:v libx264. This means: "set all stream codecs to copy, except video which should transcode to x264."

                      – Cheekysoft
                      May 26 '16 at 14:59













                    • Equivalent (showing parameter ordering): ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv

                      – Cheekysoft
                      May 26 '16 at 15:07










                    1




                    1





                    You don't need to specify each stream in the manner above: -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 Instead, you can simply specify -map 0 instead. This will automatically select all streams in input 0. similar with audio copy codecs. The only codec options you need to specify are -c:copy -c:v libx264. This means: "set all stream codecs to copy, except video which should transcode to x264."

                    – Cheekysoft
                    May 26 '16 at 14:59







                    You don't need to specify each stream in the manner above: -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 Instead, you can simply specify -map 0 instead. This will automatically select all streams in input 0. similar with audio copy codecs. The only codec options you need to specify are -c:copy -c:v libx264. This means: "set all stream codecs to copy, except video which should transcode to x264."

                    – Cheekysoft
                    May 26 '16 at 14:59















                    Equivalent (showing parameter ordering): ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv

                    – Cheekysoft
                    May 26 '16 at 15:07







                    Equivalent (showing parameter ordering): ffmpeg -i input.mkv -map 0 -vf scale=-1:720 -c:copy -c:v libx264 -crf 18 -preset veryslow output.mkv

                    – Cheekysoft
                    May 26 '16 at 15:07







                    protected by Community Oct 13 '16 at 3:21



                    Thank you for your interest in this question.
                    Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



                    Would you like to answer one of these unanswered questions instead?



                    Popular posts from this blog

                    flock() on closed filehandle LOCK_FILE at /usr/bin/apt-mirror

                    Mangá

                    Eduardo VII do Reino Unido