Я пытался захватить поток RTMP в приложении C # и воспроизвести его.
Я выбрал следующую архитектуру:
- Вставьте Flash Player в приложение C #. (сделано)
- Запустите воспроизведение строба мультимедиа во встроенном Flash Player. (сделано)
- Захватывайте поток RTMP во встроенном проигрывателе Strobe Media Playback. (не смогли)
Проблема в том, что я не могу указать местоположение источника видео. Ни RTMP, ни HTTP-источники не работают.
Strobe Media Playback отображает единственную текстовую строку: «Мы не можем подключиться к запрошенному вами контенту. Приносим извинения за неудобства».
Я пробовал несколько способов установить источник:
- Установив FlashVars:
flash.FlashVars = @"src=http://players.edgesuite.net/videos/big_buck_bunny/bbb_448x252.mp4";
илиflash.FlashVars = @"FlashVars=""src=http://players.edgesuite.net/videos/big_buck_bunny/bbb_448x252.mp4""";
- Создав XML-конфиг и передав информацию о нем в Strobe с помощью FlashVars:
flash.FlashVars = @"configuration=D:\configuration.xml";
Также я не могу воспроизвести локально размещенные .flv-файлы любым из этих способов.
Теоретически возможно ли то, что я пытаюсь сделать?
Если это так, как я могу установить источник видео для воспроизведения строба из кода C #?
Дополнительная техническая информация:
Для встраивания Flash Player в приложение C # я использую две библиотеки:
AxInterop.ShockwaveFlashObjects.dll и Interop.ShockwaveFlashObjects.dll
Версия Flash: 11.5.502.135
Версия воспроизведения стробоскопа: 1.6.328
Образец проекта C # можно найти здесь: http://narod.ru/disk/64598707001.c8d1ae94c60a63a021bfdffc82864bb2/WPF_Flash.7z.html
P.S. Если вы знаете более эффективные способы захвата и воспроизведения потока RTMP в приложении .NET, поделитесь своими знаниями.