вторник, 14 июня 2011 г.

Примеры для ffmpeg..

С рапиды пропали примеры, не знаю по какой причине - я их не трогал, ни у кого абуз не должно было к ним возникать.. может удалили, потому что долго никто их не качал?..

Факт в том, что я не помню, что там за примеры были и что показывали как делать :( Нашел у себя вот 2 проектика, подходящих на роль примеров, выложил: пример 1, пример 2

Один просто портированный пример из самого ffmpeg-а, второй - чтение мр3 файла

5 комментариев:

  1. Здравствуйте. Сразу скажу спасибо за ваш труд по портированию заголовков под Delphi.
    Пытаюсь воспользоваться вашим трудом в виде pas к ffmpeg. Скачал пример из приведенной статьи на чтение mp3 и пытаюсь его запустить. В роли ffmpeg dll взял последнюю версию официальных билдов, где присутствует avcodec-52.dll и т.д. Пытаюсь всё это скомпилить под Delphi XE. Всё компилируется, но при попытке декодировать mp3-файл программа падает с исключением в avcodec-52.dll. Какие библиотеки (какой версии) ffmpeg вы используете и под какой Delphi компилируете?

    ОтветитьУдалить
  2. все сложно:
    1) я уже больше года не сижу под делфи, соотв. хедеры апдейтил давно
    2) те хедеры, что выложены, работают с dll-ками, скомпиленными из исходников "того времени", последние готовые dll скорее всего не будут работать

    что делать? ну по-быстрому проверить sizeof основных используемых структур - в pas-файлам и в h-файлах; я с этого обычно начинал поиски баг; если где-то что-то не совпадает - смотреть на структуры и пытаться найти, что добавилось, как правило новые поля добавляют в конец структуры + помогает смотреть лог svn-а файла, в комментах к каждой ревизии часто пишут, что менялось

    ага, никто не говорил, что будет легко ;)
    у меня если dll-ки и есть, то очень кастомно собранные под конкретный проект, поэтому толку от них мало
    жалею, что не выкладывал с pas-файлами и собранные к ним dll-ки :(

    но по идее если уж сильно печет, то можно а) посмотреть на дату моих pas-хедеров, б) из репозитория ffmpeg-а взять не последнюю версию исходников, а ближайшую к нужной дате, в) собрать dll-ки, которые будут работать с моими pas-файлами

    ОтветитьУдалить
  3. Хм, как я понимаю вы меняли pas файлы в районе 20 апреля 2010 (revision 22921, 20-apr-2010), по крайней мере такую дату я нашел в заголовках. Проблема в том, что офф.билды самые ранние датируются 9 мая 2011. Может быть вы знаете, откуда можно выцепить уже собранные dll более ранних версий? А то создание собственной сборки ffmpeg хочется отложить на последок.

    И, возможно придется перенимать у вас эстафету подготовки pas для ffmpeg. Чем вы конвертировали? Или всё ручками?

    ОтветитьУдалить
  4. да, я в начале файла ставил дату и ревизию.. ну старался по крайней мере

    чем портировать - руками; собственно как и сказал - смотрел, какая ревизия у меня в pas, открывал лог в svn-е и каждую ревизию для файла смотрел - что менялось, если что-то существенное (у них там 1/3 правок - исправления опечаток или комментирование), то менял у себя

    наск. я понимаю, так, чтобы полностью автоматом - вряд-ли получится

    dll я всегда сам собирал себе, в основном потому, что мне нужны были специфические кодеки и демуксеры, а зачем тянуть многомегабайтную dll, если можно сделать маломегабайтную :)

    собирать собственно несложно, сложно собрать зоопарк компиляторов нужных версий.. хотя последние разы намного проще было, вот когда я только начинал пробовать - содом-и-гомора была с этими gcc..

    ОтветитьУдалить
  5. Ребята, у кого есть последние (ну хотя бы более-менее) хэдеры для ffmpeg для Delphi? Сайт ffmpeg.org рекомендует от 2008 года (http://www.iversenit.dk/dev/ffmpeg-headers/) Нет ли ничего по-новее?

    ОтветитьУдалить