3
votes

I'm making use of x264 for remote desktop streaming. The goal is to achieve both low bitrate and high video quality within the computation budget. The current parameter set I used almost achieve this goal, but it fails in handling images with many texts (e.g. browsing websites scene). The text in image is blurred and affects the user experience.

I think it's the quantization in x264 that causes this. The quantization after DCT transform will eliminate high frequency sinals which mainly correspond to texts in image.

So, my question is how to improve the text quality in x264 encoding?

My idea: when the bitrate stays at a low level for a period of time,

  1. set crf to be 0 (lossless);
  2. encode current frame as an IDR frame and then send it;
  3. recover the crf.

Also, a flag should be used to prevent resending when bitrate keeps low for a long time. I haven't try this method since I don't know how to mark a frame as an IDR frame manully and then encode it.

1
You can check raspivid encoding parameters, as it's designed for real time video, it should be well adapted to your needs131
There was a post from Dark Shikari on his(her) blog about some changes that were done to support remote desktop. I cannot find that blog post, but it looked like some corp paid for better support for that exact scenario.Pavel P

1 Answers

1
votes

There might be the answer to your question: x264: the best low-latency video streaming platform in the world. This might also be related: Psy RDO