What's the best codec & fps (and other CLI config) to minimize bandwidth usage for streaming text editor videos? Specifically:

  • high res (as close to original as possible)
  • low fps (<= 8 is fine)
  • color loss is acceptable
  • audio loss is acceptable


I want to stream video from a USB video capture device (plugged to Raspberry Pi 4B, streaming server is nginx).

The incoming video is of text editing for the most part, so I guess difference between frames would be minimal 9/10 times. Color loss is acceptable, but fonts should remain sharp.

I have found that ffmpeg -f v4l2 -i /dev/video0 <extra config> rtmp://localhost/live/test is the basic template I need to follow.

Of all the combinations of codecs/framerates I tested, the only thing that works without killing itself is -f flv.

If I try to suggest framerates, it works for 1-2 seconds and dies with [flv @ 0x...] failed to update header with correct duration/filesize.

Not specifiying a codec gives some NULL error. mp4, x264, mpeg4, mpeg2video don't work. I was hopeful for VP8, but -f VP8 doesn't work.

mpegts works but dies as soon as vlc tries to open it (without streaming anything). Please advice.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.