Как захватить потоковое видео ASX

Учитывая видео поток ASX ( здесь, например - может занять некоторое время для загрузки). Как захватить поток, чтобы я мог получить доступ к кадрам программно?

1 ответ

Решение

Вы можете использовать следующую схему (примеры кода предполагают, что вам нужно реализовать свою задачу в Windows и использовать MFC, но эту же схему можно использовать для других условий):

1) Получить файл ASX (например, используя CHttpConnection, CHttpFile и т. Д.). Для вашего примера файл ASX:

[Reference]
Ref1=http://149.136.20.28/d3-Exposition-51?MSWMExt=.asf
Ref2=http://149.136.20.28:80/d3-Exposition-51?MSWMExt=.asf

2) Разобрать файл ASX. Обычно файл ASX является файлом XML. Но иногда настоящие файлы ASX не являются действительными XML-файлами (и это верно для вашего примера). Так что вам, вероятно, нужно будет обрабатывать такие случаи. После анализа ASX вы получите набор URL-адресов. URL-адреса обычно являются альтернативами одной и той же передачи.

3) Используйте Windows Media Format SDK (WMF SDK) для чтения потоков, представленных URL-адресами. См. Чтение данных ASF по сети.

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