пример использования xine-lib?

Форум для изучающих FPC и их учителей.

Модератор: Модераторы

пример использования xine-lib?

Сообщение xam_death » 05.12.2009 08:11:44

ткните, плз, носом, где бы сабж посмотреть? :oops:
xam_death
новенький
 
Сообщения: 13
Зарегистрирован: 26.11.2009 21:28:10

Re: пример использования xine-lib?

Сообщение xam_death » 10.12.2009 14:55:13

Неужто никто не пользовал xine-lib на паскале? :(
xam_death
новенький
 
Сообщения: 13
Зарегистрирован: 26.11.2009 21:28:10

Re: пример использования xine-lib?

Сообщение xam_death » 12.12.2009 20:13:22

хотя бы ссылочку наподобии
http://svn.berlios.de/svnroot/repos/cactusjukebox/source/mplayer.pas
(замечательный пример использования мплеера)
xam_death
новенький
 
Сообщения: 13
Зарегистрирован: 26.11.2009 21:28:10

Re: пример использования xine-lib?

Сообщение bw » 14.12.2009 09:00:53

А какое значение имеет язык? Неужели примеры на C (если они есть конечно) не подходят? Мне, например, хватило, в своё время, оригинальных исходников ffmpeg (с документацией по API), что бы решить поставленную передо мной задачу (правда на Python, но опять не вижу проблем).

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Re: пример использования xine-lib?

Сообщение xam_death » 14.12.2009 09:11:01

Спасибо!
Хоть кто-то откликнулся....

Примеров, к сожалению, нету. Пока в поиске...
Я не зря этот вопрос задал в обучении - далеко не специалист.
Но насколько я понимаю - напрямую же нельзя подключить к паскалевой программе сишные заголовки (aka xine-lib.h или что-то.там). Нужно писать обвязку или как-то согласовывать их? (если можно таки тоже примерчик бы не помешал :oops:
xam_death
новенький
 
Сообщения: 13
Зарегистрирован: 26.11.2009 21:28:10

Re: пример использования xine-lib?

Сообщение bw » 14.12.2009 11:47:25

> напрямую же нельзя подключить к паскалевой программе сишные заголовки
Нельзя. Есть конвертеры, но за ними, скорее всего, придётся подчищать. Я переписываю руками и только то что нужно. На практике далеко не все структуры и функции нужны, да и структуры редко когда нужно описывать полностью (или описывать вообще, достаточно от метода методу передавать лишь указатель на какие там данные, что-то вроде Handle в винде).
Что касается самого XINE, а почему не VLC :-) ?

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Re: пример использования xine-lib?

Сообщение xam_death » 14.12.2009 15:15:11

почему не VLC?
Интересный вопрос....

вот пока поглядываю на мплеер - есть реальные примеры КАК его использовать (см выше), но демотивирует (повыёживаться - какие слова знаю, хотя, как сказал классик, "длинные слова меня только расстраивают :wink: ) что у него своё окно и если фокус в окне мплеера - нельзя(нельзя ли? может просто не знаю как?) забрать весь ввод в его окне с клавиатуры и мыши стандартными средствами

на гстример кошусь, но тоже КАК его использовать из паскаля? и вопримет ли он поток с DVB устройств?

xine-lib, как я понял, по сути готовый плеер, его можно встроить в свою приблуду в нужное место экрана/окна для воспроизведения аудио/видео контента.

VLC такое позволяет? :?
xam_death
новенький
 
Сообщения: 13
Зарегистрирован: 26.11.2009 21:28:10

Re: пример использования xine-lib?

Сообщение bw » 15.12.2009 02:46:21

> VLC такое позволяет?
Но ведь можно официальную документацию почитать?

XINE и VLC, по сути, это высокоуровневые API, в отличии от FFmpeg (хотя я с ними не работал и не знаю насколько высоко и что именно они позволяют делать с медиа). В случае с FFmpeg ты можешь делать с потоком всё что угодно, можешь ручками декодированный кадр терзать как угодно, можешь дописать свой фильтр (по стандартизованному API), кодер/декодер, источник/получатель (устройство) и т.д. (на сколько понимаю это же позволяют сделать и XINE/VLC). Как и куда ты будешь выводить картинку зависит еще и от платформы, если под виндой это может быть DirectShow/GDI, то в Linux OpenGL/XImage/DirectFB (у меня mplayer десяток устройств предлагает, половина, правда не работает). То же относится к звуку, например, декодировать AC3/DTS может вообще необходимости нет, если ты сразу этот поток направишь на S/PDIF.

Так же надо понимать, что, наверное, 80% кода этих пакетов это одни и те же свободные библиотеки по работе с разными форматами (libtheora, libvorbis, libx264, libxvidcore и т.д. и т.п.).

Ты говорил про MPlayer (тот pas я не знаю к чему относится). Тот MPlayer, про который все знают целиком и полностью основан на FFmpeg. Весь ввод/вывод выполняется FFmpeg, а сам проигрыватель только собирает демуксоры, декодеры, фильтры и устройства в одну кучку и правильным образом связывает их, ну еще обрабатывает пользовательский ввод.

p.s. Смотрим что пишут разработчики, если фичи устраивают, начинаем разбираться с API. Прежде чем разберешься, 10 раз ручками перепишешь нужные функции/типы/структуры. Так что Сишные Хедеры это меньшее из бед, будь уверен :-).

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Re: пример использования xine-lib?

Сообщение xam_death » 15.12.2009 11:43:12

спасибо за наводку :)
нашёл кое-что по vlc-lib. Очень интересно.
и примеры на дельфях.
http://goodbyamerica.sourceforge.net/videolan.html
Увидел КАК побеждаются сишные заголовки
Код: Выделить всё
procedure rootwrap; cdecl external lib;
function VLC_AddIntf(id:integer; module:pchar; block,play:longbool):integer; cdecl external lib;
function VLC_AddTarget(id:integer; target:pchar; szoptions:ppchar; options,mode,pos:integer):integer; cdecl external lib;

сейчас буду пытаться это всё перевести в лазарус(или мсе/иде, если получится) и в линукс :)

ЗЫ: На самом деле я не собираюсь писать супер/пупер плеер, просто, к сожалению, мне не хватает НЕКОТОРОЙ, функциональности, вот и приходится извращаться :(
xam_death
новенький
 
Сообщения: 13
Зарегистрирован: 26.11.2009 21:28:10

Re: пример использования xine-lib?

Сообщение bw » 15.12.2009 12:58:27

Не забудь поделиться результатами ;-).

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Re: пример использования xine-lib?

Сообщение xam_death » 15.12.2009 13:04:49

какими к чёрту результатами? :(
стыдно будет таким делиться то :(
программировать не умею, но приходится по необходимости :cry:
по идее медиацентр мне нужен. Существующие немножко не устраивают. Буквально чуть-чуть. Вот и приходится лепить свои корявки :(
ЗЫ Если получится запустить нормально - примеры, конечно, выложу - вдруг такому же как я пригодится :)

ЗЗЫ: Вопрос на засыпку - я правильно мыслю, что если статически слинковать свою поделку с библиотекой, то при обновлении оной (библиотеки) программа слетит ибо сменились адреса функций/процедур, а при динамической линковке если не произшло кардинальных перемен в библиотеке, всё пройдёт безболезненно?
xam_death
новенький
 
Сообщения: 13
Зарегистрирован: 26.11.2009 21:28:10

Re: пример использования xine-lib?

Сообщение xam_death » 16.12.2009 19:34:31

оччень интересно... оччень... :(
а некоторых функций то и нету в libvlc :( например libvlc_destroy
в разной документации расписано - какая ляпота и как всё зашибись, а вот при сборке ругается на отсутствие.... интересно...
скачнул dev пакет от vlc - где же как не в заголовках искать то? Ан там тоже нету. :shock:
вот. теперь без маломальского знания сей(ни плюсовых ни простых) придётся копаться в сёвых заголовках и смотреть - что там вообще есть :(
Может кто работал с этой библиотекой? может есть где подробное и актуальное описание - для любого языка :(
xam_death
новенький
 
Сообщения: 13
Зарегистрирован: 26.11.2009 21:28:10

Re: пример использования xine-lib?

Сообщение bw » 17.12.2009 09:10:56

Если нет в самой библиотека, значит правильно смотришь, должна быть с заголовках. Многие функции извращенцы сишники определяют define'ами, причем такими хитрыми с многоуровневыми подъеб.../вложенностями, что тебя ждет много секса, прежде найдешь эту дрянь :-).

p.s.
> может есть где подробное и актуальное описание - для любого языка :(
Смешной ты человек. Называется: делалось не для людей/программеров, делалось для сишников. Человечество еще не одно десятилетие будет разгребать этот код. Хотя такой подход специфичен для всего сообщества опен-сорсников.

p.p.s. Упоминаний где-либо о libvlc_destroy мне найти не удалось.

..bw
Аватара пользователя
bw
постоялец
 
Сообщения: 359
Зарегистрирован: 01.12.2005 11:36:23
Откуда: Усть-Илимск

Re: пример использования xine-lib?

Сообщение Slavikk » 17.12.2009 21:41:24

Насколько я помню Ваш пример к VLC 0.8.x.x, а Вы скорее всего пытаетесь его запустить с VLC 1.x.x.
Аватара пользователя
Slavikk
постоялец
 
Сообщения: 208
Зарегистрирован: 15.01.2007 22:34:52
Откуда: Из лесов...

Re: пример использования xine-lib?

Сообщение xam_death » 17.12.2009 22:00:04

может быть. Есть несколько примеров, без указания версии библиотеки. но везде есть эта хрень.
пока курю заголовки сишные (в меру понимания, которого совсем нет)

нашёл (теоретически) интересные вещи (если правильно понял), ещё бы сообразить КАК это использовать.

ЗЫ ещё бы с кодами ошибок разобраться, а то при добавлении элемента в плейлист ошибка 5 вылазит, а что это - хз. :?
ЗЗЫ - хоть парсер по переводу сишных заголовков в паскалевые пиши :(

ЗЗЗЫ
СПАСИБО ВСЕМ ОТКЛИКНУВШИМСЯ!!!
xam_death
новенький
 
Сообщения: 13
Зарегистрирован: 26.11.2009 21:28:10

След.

Вернуться в Обучение Free Pascal

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

Рейтинг@Mail.ru