Библиотеки DivX Decoder?
Я видел, что в приложении от крупного поставщика программного обеспечения dll под названием "DivXDecoder.dll" - что заинтриговало меня, так как (а) оно подразумевает существование простой в использовании библиотеки DivX, и (б) я бы предпочел играть DivX сжатые фильмы в продукте, над которым я работаю.
Кажется, что сам проект DivX сосредоточен на создании кодеков и инструментов для конечных пользователей. Существуют ли какие-либо дружественные к C/C++ проекты, которые делают возможным воспроизведение содержимого DivX в приложениях Win32 или Cocoa?
3 ответа
Посмотрите на исходники mplayer - он использует библиотеку ffmpeg, которая обрабатывает декодирование из множества форматов.
Не тратьте свое время на попытки воспроизведения DivX в приложении Какао. Используйте QTKit. Если кто-то захочет воспроизвести контент DivX в вашем приложении, он установит плагин DivX QuickTime.
DivX - это компрессор, соответствующий стандарту MPEG-4, часть 2. XviD и некоторые версии Windows Media также являются реализациями стандарта. Поэтому все, что может распаковать MPEG-4 Part 2, должно быть в состоянии обрабатывать вещи, сжатые с помощью DivX.
Что касается реальных библиотек распаковки, я бы порекомендовал libavcodec. Он широко используется (= хорошая поддержка), кроссплатформенный и с открытым исходным кодом (LGPL, поэтому может использоваться в коммерческих приложениях). Это также довольно легко использовать из-за привязки к Си. Он может открывать и воспроизводить много разных кодеков (и с помощью libavformat обрабатывать много разных упаковщиков, например, avi, mkv и т. Д.).
Если это только для Windows, лучше использовать видео для Windows, предоставляемое операционной системой, если вы просто хотите играть в MPEG, поскольку вам не нужно будет поставлять его вместе с приложением, и вы избежите потенциальных проблем с лицензией. Имейте в виду, однако, что для этого требуется, чтобы у пользователя были установлены определенные кодеки. В Win7 (и, думаю, в Vista) кодеки MPEG, необходимые для воспроизведения DivX/XviD, установлены по умолчанию, но не в XP...