I am building a Video-on-demand service for a closed community. I using FFMPEG for video processing and dash.js for adaptive bitrate player with custom resolution selector. Can somebody please suggest what ideal bitrates should I use while video/audio transcoding?
I am talking about -b:v
and -ab
option
ffmpeg -i vid.mp4 -c:v libvpx-vp9 -keyint_min 150 \
-g 150 -tile-columns 4 -frame-parallel 1 -f webm -dash 1 \
-an -vf scale=144:-1 -b:v 120k -dash 1 video_1.webm \
-an -vf scale=240:-1 -b:v 250k -dash 1 video_2.webm \
-an -vf scale=360:-1 -b:v 500k -dash 1 video_3.webm \
-an -vf scale=480:-1 -b:v 750k -dash 1 video_4.webm \
-an -vf scale=720:-1 -b:v 1500k -dash 1 video_5.webm
And
ffmpeg -i vid.mp4 -vn -acodec libvorbis -ab 96k -dash 1 audio_96k.webm
Any suggestions/hacks or examples to tackle real-world network situations are appreciated.
There is no ideal. Every video is different, and every viewer is different. What is ideal for one viewer is not ideal for another. Read the Netflix blog on pert title encoding and vmaf. Also look at Akamai state of the internet reports to determine what average global internet connection speeds are.