Custom Output (FFmpeg) ignores -q / -q:v parameter


New Member
i use Container Format mpegts and as Video Encoder mpeg1video.

Adding -q or -q:v to the Video Encoder Settings seems to be ignored. The quality level is always "default".

For example using ffmpeg standalone like:

ffmpeg -f dshow -i video="OBS Virtual Camera" -f mpegts -codec:v mpeg1video -r 60 output.ts

without adding the -q parameter, results in the exact same quality as OBS FFmpeg.

Using for example:

ffmpeg -f dshow -i video="OBS Virtual Camera" -f mpegts -codec:v mpeg1video -r 60 -q 1 output.ts

results in to a much better quality.

Best wishes


PS: The log is unnecessary. It shows nothing other then start / stop recording messages. I tried it on several hardware with intel, nvidea and amd GPU


Active Member
The parameter format in the OBS ffmpeg configuration is key=value, i. e. q=20. Not -q=20.


New Member
good to know.

anyway, same results :-(

are you sure that is valid for "Video Encoder Settings" ?

i tried it just now with q=1 (best quality)
does not work


13:50:41.372: Failed to set q=1
13:50:41.390: ==== Recording Start ===============================================

same for qscale
13:50:44.272: Failed to set qscale=1


Active Member
You need to use the correct input field (there are 3: one for muxer, one for video encoder, one for audio encoder), and you need to use a parameter valid for the encoder you chose, according to ffmpeg documentation. It the parameter is rejected, it is probably not valid for that encoder.


New Member

as said, commandline ffmpeg works. so the parameter is 100% valid for the encoder.

i tried it with version 4.0 to version 5 (latest) of ffmpeg