How can I convert a 1080p wmv video to a 720p video?
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.
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...