Hello Dan, Brian.
Thank you for your answers. I've been struggling with this issue for a
while and I don't manage to get an almost constant video bitrate in the
It seems I should use the --nal-hrd cbr option to "fill the mux" as
explained in post:
But I don't manage to use it successfully in Melt neither with -x264-params,
nor with x264opts.
I don't know how to properly translate it to "name=value" melt syntax.
Should I write -x264opts in the command or not?
I have made different tries with no success so far, such as:
vcodec=libx264 nal-hrd=cbr vbv-bufsize=6M vb=3M minrate=3M maxrate=3M g=15
Changing the line to:
vcodec=libx264 -x264opts nal-hrd=cbr vbv-bufsize=6M vb=3M minrate=3M
maxrate=3M g=15 bf=2 ts=cbr
does not seem to have effect either.
If I do: "melt -query consumer=avformat | grep x264"
It seems I have both options available:
- identifier: x264opts
description: x264 options (libx264)
description: Select the quality for constant quality mode (libx264)
- identifier: x264-params
description: "Override the x264 configuration using a :-separated list
of key=value parameters (libx264)"
description: Set the encoding preset (cf. x264 --fullhelp) (libx264rgb)
Do you have a melt working example to get a constant video bitrate in the
Post by Dan Dennedy
Post by David Alonso Grande
I need to get a true constant video bitrate in an UDP output address.
By using cbrts consumer I am getting a constant muxrate in the UDP
output, but not a constant video bitrate.
I have noticed that varying the gop size has an effect in the shape of
the output video bitrate curve but still I am not getting a flat (or almost
flat) video bitrate line in the output analyzer.
melt -profile atsc_1080i_50 test_1.mp4 \
-consumer cbrts udp.address=10.192.33.14 udp.port=5678 udp.ttl=12
udp.reuse=1 udp.rtp=0 muxrate=6000000 udp.buffer=1000 \
vcodec=libx264 bufsize=5505024 vb=3M minrate=3M maxrate=3M g=15 bf=2 \
acodec=mp2 ab=160k threads=3 real_time=1
I am trying to add this libx264 encoding option
but It seems that Melt is ignoring it although It is not showing any error.
Any help would be really appreciated!
I suppose we will have to update to use the new option some day. In the
mean time, try using "x264opts".
Actually, MLT does not define either x264-params or 264opts. Those are
AVOptions that MLT exposes. So, it depends on how it is built (version of
libavcodec). You can use "melt -query consumer=avformat | grep x264" to see
which to use. Then, of course, you must use the melt "name=value" syntax
instead of "-name value".