Сначала я бы посмотрел на существующее программное обеспечение, чтобы сделать это. Например, Windows Movie Maker может отображать и захватывать выходные данные видеокамеры HD. mplayer должен иметь возможность отображать прямую трансляцию с большинства карт / камер захвата (и имеет полноэкранный режим). Существуют и другие более полные системы, такие как ScopeBox , OnLocation , UltraScope или любое программное обеспечение NLE (Adobe Premiere, Final Cut Pro и т. Д.). Они нацелены на производство видео, но вы на самом деле не упоминаете, почему вы отображаете или захватываете видео.
Если вы хотите написать что-то с нуля, DirectShow API должен стать хорошей отправной точкой.
Мне нужно захватить источник HD-видео (например, hi def tv)
Вы не можете снимать с HD-телевизора, так как это просто дисплей.
Вы можете снимать с HD-видеокамеры, но вам понадобится карта захвата - Blackmagic Design делает много из них, самый дешевый из них - $ 150 «Видеорегистратор» , который может захватывать через компонент, их ~ $ 200 карта "Intensity" будет захватывать через HDMI (и о любом другом аналоговом соединении)
После этого вы сможете выполнять запись с карты BlackMagic, используя DirectShow или QuickTime API (страница поддержки относительно этого ). То же самое должно быть верно для других карт захвата (я просто упоминаю BlackMagic, потому что они являются одним из наиболее известных брендов)
Стоит отметить, что если вы снимаете HD-видео (1920x1080p), вы имеете дело с большим количеством данных. Большинство современных компьютеров должны справляться с этим нормально, но для этого все еще требуется высокая скорость процессора и ввода-вывода.
Другое дело, вы не можете снимать с чего-то вроде проигрывателя Bluray, так как система HDCP (защита цифрового контента с высокой пропускной способностью) предотвращает это.