View Single Post
Old 6th September 2017, 11:42   #11  |  Link
TEB
Registered User
 
Join Date: Feb 2003
Location: Palmcoast of Norway
Posts: 363
one has to seperate LIVE and VOD (offline)
For Live capped VBR or CBR with a fixed gop size adhering to the Dash implementation is the preferred way..
For VOD and from a packager point of view, predictability in gopsize is the key consern, hence we lock it at 2 sec. (50frames (25x2) (forcing each gop start with a IDR frame as well as scenecut detected need for an iframe or 2 within the gop)
Ive tinkered with CBR vs. 2pass Avg Bitrate vs. different CRF values with and without VBV buffer size lock and it seems that 2pass AVG bitrate gives the best SSIM/PSNR results compared to the pro-res source.

My current ffmpeg setup:

ffmpeg -i source.mp4 -pix_fmt yuv420p -codec:v libx264 -x264opts rc-lookahead=50:keyint=100:min-keyint=50 -profile high -level 4.1 -preset slow -b:v 1M -force_key_frames "expr:eq(mod(n,50),0)" -c:a copy -pass 1 -y test1.ts >nul &&
ffmpeg -i source.mp4 -pix_fmt yuv420p -codec:v libx264 -x264opts rc-lookahead=50:keyint=100:min-keyint=50 -profile high -level 4.1 -preset slow -b:v 1M -force_key_frames "expr:eq(mod(n,50),0)" -c:a copy -pass 2 -y output.ts
TEB is offline   Reply With Quote