С рапиды пропали примеры, не знаю по какой причине - я их не трогал, ни у кого абуз не должно было к ним возникать.. может удалили, потому что долго никто их не качал?..
Факт в том, что я не помню, что там за примеры были и что показывали как делать :( Нашел у себя вот 2 проектика, подходящих на роль примеров, выложил: пример 1, пример 2
Один просто портированный пример из самого ffmpeg-а, второй - чтение мр3 файла
Здравствуйте. Сразу скажу спасибо за ваш труд по портированию заголовков под Delphi.
ОтветитьУдалитьПытаюсь воспользоваться вашим трудом в виде pas к ffmpeg. Скачал пример из приведенной статьи на чтение mp3 и пытаюсь его запустить. В роли ffmpeg dll взял последнюю версию официальных билдов, где присутствует avcodec-52.dll и т.д. Пытаюсь всё это скомпилить под Delphi XE. Всё компилируется, но при попытке декодировать mp3-файл программа падает с исключением в avcodec-52.dll. Какие библиотеки (какой версии) ffmpeg вы используете и под какой Delphi компилируете?
все сложно:
ОтветитьУдалить1) я уже больше года не сижу под делфи, соотв. хедеры апдейтил давно
2) те хедеры, что выложены, работают с dll-ками, скомпиленными из исходников "того времени", последние готовые dll скорее всего не будут работать
что делать? ну по-быстрому проверить sizeof основных используемых структур - в pas-файлам и в h-файлах; я с этого обычно начинал поиски баг; если где-то что-то не совпадает - смотреть на структуры и пытаться найти, что добавилось, как правило новые поля добавляют в конец структуры + помогает смотреть лог svn-а файла, в комментах к каждой ревизии часто пишут, что менялось
ага, никто не говорил, что будет легко ;)
у меня если dll-ки и есть, то очень кастомно собранные под конкретный проект, поэтому толку от них мало
жалею, что не выкладывал с pas-файлами и собранные к ним dll-ки :(
но по идее если уж сильно печет, то можно а) посмотреть на дату моих pas-хедеров, б) из репозитория ffmpeg-а взять не последнюю версию исходников, а ближайшую к нужной дате, в) собрать dll-ки, которые будут работать с моими pas-файлами
Хм, как я понимаю вы меняли pas файлы в районе 20 апреля 2010 (revision 22921, 20-apr-2010), по крайней мере такую дату я нашел в заголовках. Проблема в том, что офф.билды самые ранние датируются 9 мая 2011. Может быть вы знаете, откуда можно выцепить уже собранные dll более ранних версий? А то создание собственной сборки ffmpeg хочется отложить на последок.
ОтветитьУдалитьИ, возможно придется перенимать у вас эстафету подготовки pas для ffmpeg. Чем вы конвертировали? Или всё ручками?
да, я в начале файла ставил дату и ревизию.. ну старался по крайней мере
ОтветитьУдалитьчем портировать - руками; собственно как и сказал - смотрел, какая ревизия у меня в pas, открывал лог в svn-е и каждую ревизию для файла смотрел - что менялось, если что-то существенное (у них там 1/3 правок - исправления опечаток или комментирование), то менял у себя
наск. я понимаю, так, чтобы полностью автоматом - вряд-ли получится
dll я всегда сам собирал себе, в основном потому, что мне нужны были специфические кодеки и демуксеры, а зачем тянуть многомегабайтную dll, если можно сделать маломегабайтную :)
собирать собственно несложно, сложно собрать зоопарк компиляторов нужных версий.. хотя последние разы намного проще было, вот когда я только начинал пробовать - содом-и-гомора была с этими gcc..
Ребята, у кого есть последние (ну хотя бы более-менее) хэдеры для ffmpeg для Delphi? Сайт ffmpeg.org рекомендует от 2008 года (http://www.iversenit.dk/dev/ffmpeg-headers/) Нет ли ничего по-новее?
ОтветитьУдалить