все. Я новичок в программировании и столкнулся с некоторыми трудностями при декодировании / воспроизведении видео.
У меня есть поток необработанных данных h264 от tcpsocket
, и я хочу показать видео на WPF usercontrol
.
Поскольку у меня мало знаний о C ++ и декодировании / кодировании видео, мне будет сложно использовать ffmpeg
. Поэтому я подумываю, сможет ли VLC это сделать.
Фон: я хочу использовать сервер Scrcpy для создания собственного экрана Android приложение WPF для литья и удаленного управления.
Пока что я реализовал:
- Отправьте сервер на устройство и запустите сервер
- Установите TCP-соединение между ПК и устройством Android
- Может видеть потоковую передачу необработанных данных h264 в сокете
Следующий шаг: показать видео на WPF usercontrol
На самом деле я пробовал другое решение раньше и могу получить то, что хочу
- Используйте MPV в качестве медиаплеера
- Запустить
mpv.exe
процесс в моем приложении с конкретными аргументами - Внедрить окно mpv в элемент хоста WPF
Но я думаю, что <WindowsFormsHost/>
не идеально подходит для приложения WPF, поэтому я пытаюсь найти способ в стиле WPF.
Когда я искал в Github, я обнаружил, что проще воспроизвести медиафайл с диска или из Интернета, мне просто нужно передать местоположение файла (например, D:/MyFolder/mySampleVideo.mp4
или http://somesite/aSampleVideo.flv
), и мне не нужно заботиться о том, как работает компонент / элемент. . Поставьте лайк этому проекту и этот проект
Если я использую VLC, как я могу напрямую воспроизводить необработанный поток данных h264? Есть такой метод, как VlcPlayer.Play(NetworkStream myh264stram) {...}
?