Как программно преобразовать файл.rm (RealPlayer Media) в MP3 или другой формат?

Я хотел бы преобразовать .rm (RealPlayer Media) файл в MP3 или другой формат? Во-первых, я успешно справился с этим с помощью VLC, но качество не было хорошим. Затем я попробовал кодек Real Alternative с DirectShow, он тоже работал нормально, но потом я обнаружил, что кодек больше не разрабатывается, потому что RealNetworks подал в суд на разработчика.

Теперь я установил RealPlayer и пытаюсь использовать его фильтры DirectShow для преобразования .rm в .mp3 но безуспешно:( (На самом деле после добавления фильтра RealPlayer Transcode и выбора файла происходит сбой GraphStudio.)

Есть ли законный способ программного преобразования .rm файл в другой формат? Как заставить RealPlayer программно конвертировать файлы? Есть ли у вас какие-либо советы или примеры, как использовать фильтр перекодировки RealPlayer? (Я новичок в DirectShow.)

ОБНОВЛЕНИЕ, чтобы сделать вопрос более конкретным: как я могу перечислить реализованные интерфейсы и члены фильтра RealClayer Transcode? Я не нашел никакой документации:( (GraphStudio говорит, что у него 0 контактов и только общие свойства.)

1 ответ

Решение

Вам нужно построить граф DirectShow для чтения и декодирования .rm, а затем сжать аудио в MP3 и запишите это в файл. Это похоже на повторное сжатие файла AVI, подробно описанное в MSDN: Повторное сжатие файла AVI. У вас просто есть аудио без видео, и форматы контейнеров разные.

ОБНОВЛЕНИЕ: нет способа надежно перечислить реализованные интерфейсы в COM. Иногда вы можете узнать это, проверив библиотеку типов, однако многие фильтры DirectShow идут без нее. Как правило, вам нужен файл заголовка SDK от поставщика фильтров, чтобы получить определение реализованных так называемых "частных" интерфейсов.

Другие вопросы по тегам