So, I faced with the question arose – by what matter to code. As the broadcasting format we have already figured out, the choice of video codec standard was now implementing automatically - the choice fell on the video codec H.264. Naturally, we didn’t begin to reinvent the wheel, and got finished, time-tested and perfectly working open source video codec x264. I have tied it to my system successfully, and it also successfully began to work and encode the video. But then one unpleasant moment appeared.
As I have already pointed out (development methodology), my goal was to write a program with a complete lack of any memory leaks. Well, with video codec x264 it didn't work. The analyser always showed a leak, though I did everything according to the documentation of x264 - caused the appropriate functions of the memory cleaning, etc. Notably, it was floating leak - at every start of the program it was different. It is possible that directly during the work of the codec, memory was not flowing, and the leak occurred only at the completion - I don't know. Now it was necessary to examine the source codes x264 in details, and I really didn't want to do this. In the end - presence of memory leaks was the first reason why I discredited the use of x264 in my project.
The second reason was the commonplace interest - I was interested to understand how video-encoding works, what's it for, what technologies are used, and how it all works. So, I decided to develop my own video codec of H.264 standard. To this issue I have devoted the note Development of the video codec H.264. Just that very video codec, developed without outside help, now is used for broadcasting on the site.
Igor, October 2012.
|