You're mis-stating my "assumption". Go back and read my posts.your assumption that with those mediocre bitrate levels, CBR would do justice to the quality without wasting bitrate
I can encode videos at any bit rate I want, constant or variable. I can also view the encoded videos and judge their "quality". Go back and read where I said the video was freezing at around 3 Mbps at 1280x720. Clearly the bit rate was too low for that resolution.
Despite your opinion of it, this is what folks are doing in the real world and it's working for them. Audiences are watching the shows and the commercials bringing in revenue.
We can go around in circles debating abstract "quality" forever, but if it only shows up on paper and doesn't show up on the screen then what's the point?
+ Reply to Thread
Results 31 to 36 of 36
Last edited by chris319; 21st Apr 2019 at 14:29.
Yes it makes a difference on screen, that's why it's done in real life and investments are made in the proper hardware
At first CBR - doesn't exist in real life - video with variable content even encoded as CBR is always VBR (only bitrate variability is very small) - CBR is important only in one known to me case - corrupted/limited functionality multiplexer (example of such multiplexer was software multiplexer firstly created by Adherent - company later acquired by Tektronix - for sure this limitation was not fixed by Tektronix so limited multiplexer was part of software suite known as MTS4xxx).
At second - quality is not abstract - you dealing with very limited bandwidth thus you need to deal with lot of compromises, that's all - fact that we are sceptical doesn't mean that we wishing you failure.
Working with ffmpeg there's constrained bit rate which uses -b:v, -minrate, -maxrate and -bufsize, but lacks -muxrate which puts it into CBR. So you will get approximately the bit rate you desire but it is variable. What about that?
To be honest not sure if MPEG-2 has specified stuffing at Elementary Stream level, i'm aware of theoretical possibility to fill bitrate with some stuffing in ES but never analysed if this is made by special type of packets (like in MPEG TS) or by using regular ES User Data packets.
Look at MPEG data structures, for "MPEG-2 Video Sequence" - search for User Data - i can't find anything that looks like dedicated stuffing packets
Btw - if you check bitrate units then you realize that MPEG-2 bitrate can be expressed with accuracy of +-400bps thus this is is lowest possible granularity ie your CBR accuracy - beyond this video is always VBR.
Here is what I am using now:
ffmpeg -i "C0008.MP4" -s 1280x720 -vcodec mpeg2video -vb 6.5M -minrate 6.5M -maxrate 6.5M -bufsize 5M -vf scale=out_color_matrix=bt709 -acodec ac3 -strict -2 -ab 192k -y -f mpegts output.ts