събота, 5 февруари 2011 г.

How I made my Linux system open gmplayer for IPtv links

English Български

My Internet Service Provider is providing television over an IP connection (IP TV). So you are opening a web page, login and select the desired TV program from a list. Next to each program there is a list of possible options:

  • Open with Windows Media Player
  • Open with VLC Player 
  • Open with External Player

Ползвам IP tv от интернет доставчик по следният начин - трябва да се логна във уеб страница iptv.bg и да избера желаната пограма от списък с програми. Встрани от всяка програм има списък с възможни опции:

  • Отваряне със Уиндоус Медиа Плеър
  • Отваряне с VLC Плеър
  • Отваряне със външна програма








Since I run that under Linux, Windows Media Player is not an option at all. I did not have VLC installed, so I tried the option for External Player specifying the well known mplayer/gmplayer program.

Unfortunately the provided link was not the actual data stream. Instead it was ASX (some type of XML file), that contained the link within its tags.

Тъй като работя под Линукс, Уиндоус Медиа Плеър въобще не е опция. Нямам инсталирано VLC, така че пробвах да възможността за външна програма и зададох добре известният mplayer/gmplayer.

За съжаление връзката не беше истинският видео поток. Вместо това, беше ASX (тип XML файл), който съдържа връзка към реалният видеопоток в един от таговете си








To work aroung this, I wrote a small C program that would parse the XML file, extract the link from there and after that run the gmplayer program with appropriate parameters.

The program does not follow any coding good practices, but is still usable.
Here is the program itself.

Ето защо връзката просто не се отвори с mplayer/gmplayer.
За да заобиколя проблема, написах малка C програма, която да парсва XML файла и да извлича връзката към видеопотока от там. След това програмата стартира gmplayer с подходящите параметри.

Написах програмката набързо и затова не следва добри практики за кодиране, но все пак е използваема.
Ето я и нея.