LINUX.ORG.RU

видео проигрыватель


0

0

Добрый день.

Подскажите, пожалуйста, какие-нибудь доки на тему написания видео-плейера. Есть необходимость в программульке на SDL (FULLSCREEN) играть видео файлы. Пробовал запускать ffplay... слегка не то, что надо.... может быть есть возможность прикрутить к своей проге библиотеки от ffmpeg (или ещё какие-нибудь)?

smpeg попробуй. Очень удобно - в стиле SDL.

Еще мне понравилось LibAviFile - тоже удобная штука.

Esh ★★★★
()

Могу предложить использовать mplayer.
Можно создать X-овое окошко, у которого родителем будет окно SDL.
И передать идентификатор этого окошка mplayer'у в опцию -wid.
Управлять mplayer'ом можно будет через stdin, запустив его с опцией -slave.
Как вариант можно попробовать использовать xine-lib, если GPL устраивает.

Dead ★★★★
()
Ответ на: комментарий от Dead

Спасибо за подсказку....

немножко непонятно только насчёт mplayer'a.

при создании X-окна (XCreateWindow) надо указывать родительское окно (тип Window)... а у меня есть только SDL_Surface * screen = SDL_SetVideoMode(...). Можно как-нибудь преобразовать SDL_Surface в Window? или надо как-то по-другому делать?

Mishail
() автор топика
Ответ на: комментарий от Mishail

Примерно вот так.
Взято из рабочего кода. Как раз используются mplayer+SDL.

  Window m_win;
  Display *m_dpy;
  XWindowAttributes wts;

  SDL_version version;
  SDL_VERSION(&version);

  SDL_SysWMinfo info;

  info.version = version;

  SDL_GetWMInfo(&info);

  m_dpy = info.info.x11.display;

  m_win = XCreateSimpleWindow(m_dpy,info.info.x11.window,
                              x,y,w,h,0,
                              0,
                              0);

  XGetWindowAttributes(m_dpy, m_win, &wts);

  XSelectInput(m_dpy, m_win, wts.your_event_mask |
               KeyPressMask | StructureNotifyMask | ExposureMask);

Dead ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.