Edward Tanguay
Edward Tanguay

Reputation: 193302

How to get better quality converting MP4 to WMV with ffmpeg?

I am converting MP4 files to WMV with these two rescaling commands:

ffmpeg -i test.mp4 -y -vf scale=-1:360 test1.wmv
ffmpeg -i test.mp4 -y -vf scale=-1:720 test2.wmv

I've also tried:

ffmpeg -g 1 -b 16000k -i test1.mp4 test1.wmv

However, the .wmv files that are produced are "blocky and grainy" as you can see here in a small section of a video screenshot:

enter image description here

These are the sizes:

test.mp4 - 106 MB
test1.wmv - 6 MB
test2.wmv - 16 MB

How can I increase the quality/size of the resulting .wmv files (the size of the .wmv files is of no concern)?

Upvotes: 20

Views: 63612

Answers (5)

Reinhard Behrens
Reinhard Behrens

Reputation: 341

Consider the following command instead (some outdated commands in the final answer section):

ffmpeg -i test.mp4 -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k test1.wmv

REFERENCES

Upvotes: 24

simon
simon

Reputation: 12902

Working answer in 2020, producing an output video without blockiness:

ffmpeg -i input.mp4 -q:v 1 -q:a 1 output.wmv

Upvotes: 10

Martin
Martin

Reputation: 1

I used this and it turned out quite well

ffmpeg -i "file1.mp4" -q:v 0 -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k test2.wmv

Upvotes: 0

Edward Tanguay
Edward Tanguay

Reputation: 193302

You can simply use the -sameq parameter ("use same quantizer as source") which produces a much larger sized video file (227 MB) but with excellent quality.

ffmpeg -sameq -i test.mp4 -y -vf scale=-1:360 test1.wmv

In newer versions of ffmpeg flag '-sameq' has been removed. To achieve similar results one should use 'qscale' flag with 0 value:

ffmpeg -sameq -i test.mp4 -qscale 0 -vf scale=-1:360 test1.wmv

Upvotes: 14

Fabio Ceconello
Fabio Ceconello

Reputation: 16049

One thing I discovered after many frustrating attempts of enhancing the final quality was that if you don't specify a bitrate, it'll use a quite low average. Try -b 1000k for a starting point, and experiment increasing or decreasing it until you reach the desired result. Your file will be quite bigger or smaller, accordingly.

Upvotes: 5

Related Questions