Думаю, на этот раз мне придется снова ответить на свой вопрос ……
После нескольких недель поиска и отладки я наконец понял правду.
На самом деле нам не нужно «подключать» libMMS к FFMpeg. Зачем? Поскольку FFMpeg уже имеет свой собственный модуль процесса протокола mms «mms_protocol» (см. Mms_protocol.c в FFMpeg).
Все, что нам нужно сделать, это просто настроить FFMpeg для включения модуля mms следующим образом (см. Config.h в FFMpeg):
#define ENABLE_MMS_PROTOCOL 1
#define CONFIG_MMS_PROTOCOL 1
После этой конфигурации FFMpeg добавит протокол mms в свой список протоколов. (На самом деле, список протоколов уже содержит «протокол локальной файловой системы»). В результате FFMpeg может обрабатывать медиа-файл «mms: // hostserver / abc» как локальный медиа-файл. Поэтому мы все еще можем открыть и прочитать файл мультимедиа mms, используя:
av_open_input_file();
av_read_frame();
как мы делали раньше в локальном медиа-файле!
Кстати, в моей версии ffmpeg в модуле libAVFormat по-прежнему много ошибок при обработке протокола mms. Мне потребовалась одна неделя, чтобы отладить его, однако, я думаю, что это будет намного короче для такого умного парня, как ты: -)