Мне нужно разработать полноэкранный клиент, который будет декодировать необработанные h264-кадры из сетевого источника. Любой предлагаемый подход о том, с чего начать? Я смотрел на ffmpeg, но потом мне нужно связать его с VS, и я теряюсь по пути туда. Microsoft Media Foundation имеет встроенный h264decoder, и нет примера, достаточно простого для понимания. То же самое с DirectShow, но затем Microsoft говорит, что его вымершие технологии не используют его. клиент должен иметь возможность работать с WinXP и последующими целями. Так что, если кто-нибудь может, возможно, указать мне в правильном направлении, было бы здорово.Как сделать декодирование необработанных кадров H264
ответ
Вы правильно указали параметры, и вы правильно указали, что нет простого примера. Сама технология немного сложна, и она обычно не используется сама по себе, а вместо этого является частью более сложной системы, такой как потоковый клиент. Кроме того, эта технология не является бесплатной, и нет широко распространенной реализации декодера H.264 по умолчанию.
FFmpeg - хороший выбор, если вы хорошо согласны с LGPL/GPL, и вы можете построить его из исходного кода (с GPL вы даже можете скачать prebuilt binaries), сопряжение с VS требует некоторых усилий, но выполнимо, больше проблем отсутствует документация, поэтому вам нужно искать фрагменты кода в Интернете.
Media Foundation - это не выход: в Windows XP отсутствует декодер Media Foundation H.264. Тогда сам API не пользуется популярностью, и единственным преимуществом, которое он предлагает, является доступность для версий без Windows, не имеющих DirectShow.
DirectShow - это лучший API родных носителей в Windows. С обратной совместимостью в Windows, она доступна Windows XP через Windows 8.1. Microsoft предоставляет достойный декодер H.264, запускающий Windows Vista - Microsoft DTV-DVD Video Decoder, то есть в тех же версиях, что и декодер, доступен через Media Foundation. Сторонние декодеры, как правило, связаны с DirectShow. Поддерживается поддержка декодирования с помощью аппаратного обеспечения, множество примеров кода и обучающих программ в Интернете. Тем не менее, немного крутая кривая обучения.
- 1. Декодирование кадров H264 C#
- 2. Декодирование h264 кадров из потока RTP
- 3. Декодирование кадров H264 в байтовый массив
- 4. Частичное декодирование h264 stream
- 5. Декодирование необработанных данных на Android
- 6. Декодирование необработанных данных
- 7. Декодирование h264 на ios
- 8. FFmpeg декодирование H264
- 9. декодирование h264 в ios
- 10. Microsoft Media Foundation - декодирование образцов h264
- 11. Декодирование потока H264 с ID3D11VideoDecoder
- 12. android live streaming - декодирование h264
- 13. Оберните поток необработанных H264 NALU в контейнер, например MP4
- 14. H264 декодирование с использованием FFmpeg
- 15. libav - Декодирование H264 Ошибка кадра
- 16. Отправка кадров H264 по HTTP
- 17. Поток h264 необработанных данных с помощью appsrc
- 18. декодирование h264 поток из GStreamer на прошивке
- 19. Декодирование (и рендер) H264 RTP-пакетов
- 20. Android MediaCodec, декодирование кадров MJPEG
- 21. FFMpeg Android Stagefright SIGSEGV ошибке (h264 декодирование)
- 22. Декодирование h264 raw stream на Android 2.3.3
- 23. Правильно декодирование/кодирование необработанных данных PCM
- 24. Декодирование H264 из массива целых чисел
- 25. Декодирование H264 видео с использованием libavcodec, C
- 26. H264: декодирование серии nal единиц с ffmpeg
- 27. Android MediaCodec появляется для хранения кадров H264
- 28. вычисление кодированной частоты кадров в H264
- 29. FFmpeg выпуск частота кадров h264 + задница мкВ
- 30. Как обернуть H264 в контейнер mp4?
Я получил задание с ffmpeg. Входной сетевой поток -> FFMPEG -> SDL (для рисования видео на экране) Задержка составляет около 200 мс для 1280x720 при 30 кадров в секунду при скорости передачи 3 Мбит/с :) – user2967920