I have a program based on openGL written in C. Platform is Linux, i686 and hardware is exactly defined. I need a video player in it, and I intend to make it with Gstreamer.
Video will be displayed on openGL texture provided by my program.
Audio will be played as simple as possible, probably with alsasink or similar with ability to choose which one to play if there are various options.
There are two types of video that will be played:
A) HD video
- Using gstreamer-vaapi plugin and modifying vaapisink element to use our texture for displaying (not to create texture and window)
B) RTP or UDP (you can choose) streams (MPEG2 TS)
- Making pipeline that will be able to display streams property and start them fast enough.
- If stream is HD it will be decoded in same way as A)
- If video is SD, it will be needed to modify gstglsink or extend appsink to display video on our texture (or something else, but with similar result)
- SD streams are interlaced and filter needs to be applied
- There is plugin that overlays video with subtitles, so that won't be a problem
- Ability to chose subtitles from various files or to display ones from stream
I believe that it will not be complicated as everything here is already done, all we need is put it together and modify a couple of sink functions.
You can chech gstreamer-vaapi on [url removed, login to view]
You will be supplied with same hardware as this system is on and you can keep it later on.
If you want your bid to be taken for serious, send me a message describing your knowledge of Gstreamer and pipelines for simple displaying options A) and B). If you don't have vaapi on your machine then B) options is OK (there is no need to code any special elements, only as simple pipeline as possible for proof that you know something about Gstreamer).
For any questions, fell free to contact me any time.