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

Lausch

New Member
Hello,
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

D

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
 

koala

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

Lausch

New Member
hello,
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

log:

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
 

koala

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.
 

Lausch

New Member
hello,

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
 
Top