MPEG-DASH streams in FF and Chrome were failing with a No Suitable Media Files error. I thought that maybe this was a lingering key frame interval issue.
While researching I delved ever deeper into ffmpeg and libx264 alchemy. I learned enough to convinve myself that Constant Bit Rare (CBR) files were the root cause of the fuzzy “high definition” transcodes I was getting from visually pristine yet low bit-rate input files. So I switched to Constant Rate Factor (CRF) compression, but maintaining the same max bitrates of 600, 1000, and 3000K.
Old
-vcodec libx264 -vf “scale=min(480,iw):trunc(ow/a/2)*2” -vb 600k -r 30 -force_key_frames ‘expr:gte(t,n_forced*2)’ -pix_fmt yuv420p -c:a aac -b:a 128k -ar 44100 -f mp4
New
-acodec aac -b:a 128k -ac 2 -ar 44100 -af “aresample=first_pts=0” -pix_fmt yuv420p -vsync -1 -sn -vcodec libx264 -r 30 -vf “scale=min(480,iw):trunc(ow/a/2)*2” -threads 0 -maxrate 600k -bufsize 600k -preset faster -tune film -x264opts keyint=60:min-keyint=60:no-scenecut -map_metadata -1 -f mp4 -y
Also, there were some conflicting options set for captions, causing videos with captions to fail when attempting DASH streaming. Fixed. Now 99% HTML5/DASH