пример использования xine-lib?
Модератор: Модераторы
пример использования xine-lib?
ткните, плз, носом, где бы сабж посмотреть? 
Неужто никто не пользовал xine-lib на паскале? 
хотя бы ссылочку наподобии
http://svn.berlios.de/svnroot/repos/cactusjukebox/source/mplayer.pas
(замечательный пример использования мплеера)
http://svn.berlios.de/svnroot/repos/cactusjukebox/source/mplayer.pas
(замечательный пример использования мплеера)
- bw
- постоялец
- Сообщения: 359
- Зарегистрирован: 01.12.2005 10:36:23
- Откуда: Усть-Илимск
- Контактная информация:
А какое значение имеет язык? Неужели примеры на C (если они есть конечно) не подходят? Мне, например, хватило, в своё время, оригинальных исходников ffmpeg (с документацией по API), что бы решить поставленную передо мной задачу (правда на Python, но опять не вижу проблем).
..bw
..bw
Спасибо!
Хоть кто-то откликнулся....
Примеров, к сожалению, нету. Пока в поиске...
Я не зря этот вопрос задал в обучении - далеко не специалист.
Но насколько я понимаю - напрямую же нельзя подключить к паскалевой программе сишные заголовки (aka xine-lib.h или что-то.там). Нужно писать обвязку или как-то согласовывать их? (если можно таки тоже примерчик бы не помешал
Хоть кто-то откликнулся....
Примеров, к сожалению, нету. Пока в поиске...
Я не зря этот вопрос задал в обучении - далеко не специалист.
Но насколько я понимаю - напрямую же нельзя подключить к паскалевой программе сишные заголовки (aka xine-lib.h или что-то.там). Нужно писать обвязку или как-то согласовывать их? (если можно таки тоже примерчик бы не помешал
- bw
- постоялец
- Сообщения: 359
- Зарегистрирован: 01.12.2005 10:36:23
- Откуда: Усть-Илимск
- Контактная информация:
> напрямую же нельзя подключить к паскалевой программе сишные заголовки
Нельзя. Есть конвертеры, но за ними, скорее всего, придётся подчищать. Я переписываю руками и только то что нужно. На практике далеко не все структуры и функции нужны, да и структуры редко когда нужно описывать полностью (или описывать вообще, достаточно от метода методу передавать лишь указатель на какие там данные, что-то вроде Handle в винде).
Что касается самого XINE, а почему не VLC :-) ?
..bw
Нельзя. Есть конвертеры, но за ними, скорее всего, придётся подчищать. Я переписываю руками и только то что нужно. На практике далеко не все структуры и функции нужны, да и структуры редко когда нужно описывать полностью (или описывать вообще, достаточно от метода методу передавать лишь указатель на какие там данные, что-то вроде Handle в винде).
Что касается самого XINE, а почему не VLC :-) ?
..bw
почему не VLC?
Интересный вопрос....
вот пока поглядываю на мплеер - есть реальные примеры КАК его использовать (см выше), но демотивирует (повыёживаться - какие слова знаю, хотя, как сказал классик, "длинные слова меня только расстраивают
) что у него своё окно и если фокус в окне мплеера - нельзя(нельзя ли? может просто не знаю как?) забрать весь ввод в его окне с клавиатуры и мыши стандартными средствами
на гстример кошусь, но тоже КАК его использовать из паскаля? и вопримет ли он поток с DVB устройств?
xine-lib, как я понял, по сути готовый плеер, его можно встроить в свою приблуду в нужное место экрана/окна для воспроизведения аудио/видео контента.
VLC такое позволяет?
Интересный вопрос....
вот пока поглядываю на мплеер - есть реальные примеры КАК его использовать (см выше), но демотивирует (повыёживаться - какие слова знаю, хотя, как сказал классик, "длинные слова меня только расстраивают
на гстример кошусь, но тоже КАК его использовать из паскаля? и вопримет ли он поток с DVB устройств?
xine-lib, как я понял, по сути готовый плеер, его можно встроить в свою приблуду в нужное место экрана/окна для воспроизведения аудио/видео контента.
VLC такое позволяет?
- bw
- постоялец
- Сообщения: 359
- Зарегистрирован: 01.12.2005 10:36:23
- Откуда: Усть-Илимск
- Контактная информация:
> 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
Но ведь можно официальную документацию почитать?
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
спасибо за наводку 
нашёл кое-что по vlc-lib. Очень интересно.
и примеры на дельфях.
http://goodbyamerica.sourceforge.net/videolan.html
Увидел КАК побеждаются сишные заголовки
сейчас буду пытаться это всё перевести в лазарус(или мсе/иде, если получится) и в линукс
ЗЫ: На самом деле я не собираюсь писать супер/пупер плеер, просто, к сожалению, мне не хватает НЕКОТОРОЙ, функциональности, вот и приходится извращаться
нашёл кое-что по 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;
сейчас буду пытаться это всё перевести в лазарус(или мсе/иде, если получится) и в линукс
ЗЫ: На самом деле я не собираюсь писать супер/пупер плеер, просто, к сожалению, мне не хватает НЕКОТОРОЙ, функциональности, вот и приходится извращаться
какими к чёрту результатами? 
стыдно будет таким делиться то
программировать не умею, но приходится по необходимости
по идее медиацентр мне нужен. Существующие немножко не устраивают. Буквально чуть-чуть. Вот и приходится лепить свои корявки
ЗЫ Если получится запустить нормально - примеры, конечно, выложу - вдруг такому же как я пригодится
ЗЗЫ: Вопрос на засыпку - я правильно мыслю, что если статически слинковать свою поделку с библиотекой, то при обновлении оной (библиотеки) программа слетит ибо сменились адреса функций/процедур, а при динамической линковке если не произшло кардинальных перемен в библиотеке, всё пройдёт безболезненно?
стыдно будет таким делиться то
программировать не умею, но приходится по необходимости
по идее медиацентр мне нужен. Существующие немножко не устраивают. Буквально чуть-чуть. Вот и приходится лепить свои корявки
ЗЫ Если получится запустить нормально - примеры, конечно, выложу - вдруг такому же как я пригодится
ЗЗЫ: Вопрос на засыпку - я правильно мыслю, что если статически слинковать свою поделку с библиотекой, то при обновлении оной (библиотеки) программа слетит ибо сменились адреса функций/процедур, а при динамической линковке если не произшло кардинальных перемен в библиотеке, всё пройдёт безболезненно?
оччень интересно... оччень... 
а некоторых функций то и нету в libvlc
например libvlc_destroy
в разной документации расписано - какая ляпота и как всё зашибись, а вот при сборке ругается на отсутствие.... интересно...
скачнул dev пакет от vlc - где же как не в заголовках искать то? Ан там тоже нету.
вот. теперь без маломальского знания сей(ни плюсовых ни простых) придётся копаться в сёвых заголовках и смотреть - что там вообще есть
Может кто работал с этой библиотекой? может есть где подробное и актуальное описание - для любого языка
а некоторых функций то и нету в libvlc
в разной документации расписано - какая ляпота и как всё зашибись, а вот при сборке ругается на отсутствие.... интересно...
скачнул dev пакет от vlc - где же как не в заголовках искать то? Ан там тоже нету.
вот. теперь без маломальского знания сей(ни плюсовых ни простых) придётся копаться в сёвых заголовках и смотреть - что там вообще есть
Может кто работал с этой библиотекой? может есть где подробное и актуальное описание - для любого языка
- bw
- постоялец
- Сообщения: 359
- Зарегистрирован: 01.12.2005 10:36:23
- Откуда: Усть-Илимск
- Контактная информация:
Если нет в самой библиотека, значит правильно смотришь, должна быть с заголовках. Многие функции извращенцы сишники определяют define'ами, причем такими хитрыми с многоуровневыми подъеб.../вложенностями, что тебя ждет много секса, прежде найдешь эту дрянь :-).
p.s.
> может есть где подробное и актуальное описание - для любого языка :(
Смешной ты человек. Называется: делалось не для людей/программеров, делалось для сишников. Человечество еще не одно десятилетие будет разгребать этот код. Хотя такой подход специфичен для всего сообщества опен-сорсников.
p.p.s. Упоминаний где-либо о libvlc_destroy мне найти не удалось.
..bw
p.s.
> может есть где подробное и актуальное описание - для любого языка :(
Смешной ты человек. Называется: делалось не для людей/программеров, делалось для сишников. Человечество еще не одно десятилетие будет разгребать этот код. Хотя такой подход специфичен для всего сообщества опен-сорсников.
p.p.s. Упоминаний где-либо о libvlc_destroy мне найти не удалось.
..bw
может быть. Есть несколько примеров, без указания версии библиотеки. но везде есть эта хрень.
пока курю заголовки сишные (в меру понимания, которого совсем нет)
нашёл (теоретически) интересные вещи (если правильно понял), ещё бы сообразить КАК это использовать.
ЗЫ ещё бы с кодами ошибок разобраться, а то при добавлении элемента в плейлист ошибка 5 вылазит, а что это - хз.
ЗЗЫ - хоть парсер по переводу сишных заголовков в паскалевые пиши
ЗЗЗЫ
СПАСИБО ВСЕМ ОТКЛИКНУВШИМСЯ!!!
пока курю заголовки сишные (в меру понимания, которого совсем нет)
нашёл (теоретически) интересные вещи (если правильно понял), ещё бы сообразить КАК это использовать.
ЗЫ ещё бы с кодами ошибок разобраться, а то при добавлении элемента в плейлист ошибка 5 вылазит, а что это - хз.
ЗЗЫ - хоть парсер по переводу сишных заголовков в паскалевые пиши
ЗЗЗЫ
СПАСИБО ВСЕМ ОТКЛИКНУВШИМСЯ!!!
