Кроссплатформенный RTSP-плеер: VLC Media Player или SmartPlayer?
Кроссплатформенный RTSP-плеер: VLC Media Player или SmartPlayer?

Многие разработчики не понимают, следует ли использовать VLC Media Player с открытым исходным кодом или SmartPlayer из Daniu Live SDK для потокового воспроизведения RTSP? В ответ на это в этой статье проводится простое техническое обсуждение, которое поможет разработчикам сделать выбор, подходящий для их собственных сценариев, исходя из реальных потребностей:

VLC Media Player

Воспроизведение потокового видео RTSP с помощью VLC Media Player — простой и понятный процесс. VLC Media Player — это мощный кроссплатформенный мультимедийный проигрыватель с открытым исходным кодом, который поддерживает множество аудио- и видеоформатов и протоколов потоковой передачи, включая RTSP. Вот подробная пошаговая инструкция:

1. Установите медиаплеер VLC.

Сначала убедитесь, что в вашей системе Windows установлен VLC Media Player. Если он еще не установлен, вы можете загрузить и установить его с официального сайта VLC или других надежных платформ загрузки программного обеспечения.

2. Откройте медиаплеер VLC.

Дважды щелкните значок «VLC Media Player» на рабочем столе или откройте VLC Media Player с помощью ярлыка в меню «Пуск».

3. Включите потоковую передачу по сети.

В верхней строке меню VLC Media Player выберите параметр «Медиа». Затем выберите «Открыть сетевой поток» в раскрывающемся меню или напрямую нажмите сочетание клавиш «Ctrl+N».

4. Введите URL-адрес RTSP.

Во всплывающем окне «Открыть медиа»,Вы увидите поле ввода текста. В этом поле ввода,Введите URL-адрес потока RTSP, который вы хотите воспроизвести. Этот URL-адрес обычно предоставляется службой потоковой передачи или поставщиком контента.,Формат обычноrtsp://url_ip_address:port_number/mount_point。Например:rtsp://192.168.0.101:8554/stream1

5. Параметры конфигурации (опционально)

Если вам необходимо настроить другие параметры, такие как субтитры, размер кэша и т. д., вы можете установить их на нижней вкладке окна «Открыть медиа». Но для большинства прямых трансляций обычно достаточно настроек по умолчанию.

6. Воспроизвести поток RTSP.

После ввода URL-адреса и настройки параметров нажмите кнопку «Воспроизвести» в правом нижнем углу окна. VLC Media Player начнет подключаться к потоку RTSP и начнет воспроизводить видео после успешного подключения.

SmartPlayer

SmartPlayer — это кроссплатформенный проигрыватель с низкой задержкой, разработанный Daniu Live SDK. Он был запущен в 2015 году. Многие сцены постепенно перешли из режима по требованию в прямую трансляцию. У людей все более высокие требования к задержке прямой трансляции RTSP, поэтому она изменилась. Полностью самостоятельно разработанное ядро ​​SmartPlayer после нескольких лет итераций в настоящее время поддерживает следующие функции:

  • [Поддержка протокола воспроизведения] Задержка RTSP в миллисекундах;
  • [Воспроизведение нескольких экземпляров] Поддерживает воспроизведение нескольких экземпляров;
  • [Обратный вызов по событию] поддерживает состояние сети, состояние буфера и другие обратные вызовы;
  • [Формат видео] H.265, H.264;
  • [Аудиоформат] Поддержка AAC/PCMA/PCMU;
  • [Мягкое декодирование H.264/H.265] Поддержка мягкого декодирования H.264/H.265;
  • [Жесткое декодирование H.264] Windows/Android/iOS поддерживает жесткое декодирование H.264;
  • [Жесткое декодирование H.265] Windows/Android/iOS поддерживает жесткое декодирование H.265;
  • [H.264/H.265 Hard Decoding] Android поддерживает настройку жесткого декодирования в режиме Surface и жесткого декодирования в обычном режиме;
  • [Настройка буферного времени]Поддержка буфера настройка времени;
  • [Открыть за секунды на первом экране] Поддерживает режим открытия за секунды на первом экране;
  • [Режим низкой задержки] Поддерживает настройки режима со сверхнизкой задержкой, аналогичные решениям для потоковой передачи в реальном времени, таким как онлайн-машины с когтями;
  • [Сложная сетевая обработка] Поддерживает автоматическую адаптацию к различным сетевым средам, например отключение и повторное подключение к сети;
  • [Быстрое переключение URL-адресов] Поддерживает быстрое переключение других URL-адресов во время воспроизведения, а переключение контента происходит быстрее;
  • [Множественные механизмы рендеринга аудио и видео] Платформа Android, видео: Surfaceview/OpenGL ES, аудио: AudioTrack/OpenSL ES;
  • [Отключение звука в реальном времени] Поддерживает отключение/включение звука в режиме реального времени во время воспроизведения;
  • [Снимок в реальном времени] поддерживает захват текущего экрана воспроизведения во время воспроизведения;
  • [Воспроизведение только ключевых кадров] Платформа Windows поддерживает настройку в режиме реального времени, следует ли воспроизводить только ключевые кадры;
  • [Угол рендеринга] Поддерживает четыре настройки угла рендеринга видеоэкрана: 0°, 90°, 180° и 270°;
  • [Зеркало рендеринга] поддерживает настройки режима горизонтальной инверсии и вертикальной инверсии;
  • [Обновление скорости загрузки в реальном времени] Поддерживает обратный вызов текущей скорости загрузки в реальном времени (поддерживает настройку интервала обратного вызова);
  • [Наложение ARGB] Платформа Windows поддерживает наложение изображений ARGB для отображения видео;
  • [Обратный вызов видеоданных перед декодированием] Поддерживает обратный вызов данных H.264/H.265;
  • [Обратный вызов видеоданных после декодирования] Поддерживает обратный вызов данных YUV/RGB после декодирования;
  • [Обратный вызов масштабирования декодированных видеоданных] Платформа Windows поддерживает интерфейс для указания размера обратного изображения (вы можете масштабировать исходное изображение просмотра, а затем выполнить обратный вызов на верхний уровень);
  • [Обратный вызов аудиоданных перед декодированием] Поддерживает обратный вызов данных AAC/PCMA/PCMU;
  • [Адаптивная аудио и видео] поддерживает адаптивную адаптацию после изменения аудио и видео информации во время воспроизведения;
  • [Расширенная функция записи] Поддержка RTSP/RTMP H.264, расширенная запись потока H.265, поддержка записи после преобразования PCMA/PCMU в AAC, поддержка настройки записи только аудио или видео и т. д.

VLC или SmartPlayer?

Без лишних слов, давайте начнем с изображения выше, во время воспроизведения потоковых данных Hikvision с разрешением 2560*1440 и скоростью передачи данных 8M (камера Hikvision обращена к таймеру мобильного телефона. Эффект следующий. Вы можете видеть, что задержка. SmartPlayer составляет около 220 миллисекунд, а VLC. Задержка vlc составляет около 1,4 секунды. Если он выполняет контроль баланса и другие сценарии, задержка vlc превышает 1 секунду, что больше не соответствует сценариям управления с низкой задержкой:

Ранее мы писали в блоге о разработке и дизайне прямых трансляций RTSP, и они заключаются в следующем:

1. Низкая задержка:большинствоRTSPВоспроизведение ориентировано на сценарии прямой трансляции.,так,Если задержка слишком велика,Серьезно влияет на впечатления,так,Низкая задержка — очень важный показатель для измерения хорошего RTSP.,В настоящее время задержка живого воспроизведения RTSP в Daniu Live SDK лучше, чем у проигрывателя с открытым исходным кодом.,И долго бежать,Никакого накопления задержки не произойдет;

2. Обработка синхронизации аудио и видео:некоторыйигрок В погоне за низкой задержкой,Нет даже синхронизации аудио и видео.,получить аудио Видео воспроизводится напрямую, что приводит к рассинхронизации аудио/видео и различным проблемам, таким как случайные скачки временных меток. Плеер, предоставляемый Daniu Live SDK, имеет хорошую синхронизацию временных меток и ненормальные механизмы исправления временных меток;

3. Поддержка нескольких экземпляров:Дэниел в прямом эфиреSDKпредоставилигрок Поддерживает одновременное воспроизведение нескольких аудио- и видеоданных.,Например, окно 4-8-9.,Большинство инструментов с открытым исходным кодом не поддерживают поддержку нескольких экземпляров;

4. Поддержка буфера настройки времени:В некоторых есть Сетевой джиттерсцена,игрокнуждаться Поддержка буфера Настройка времени, вообще говоря, измеряется в миллисекундах, а плееры с открытым исходным кодом недостаточно дружелюбны, чтобы это поддерживать;

5. Настройка режима TCP/UDP и автоматическое переключение:Учитывая, что многие серверы поддерживают толькоTCPилиUDPмодель,Хороший RTSP должен поддерживать настройки режима TCP/UDP.,Если ссылка не поддерживает TCP или UDP,Daniu Live SDK может автоматически переключаться,,Плеер с открытым исходным кодом не имеет возможности автоматического переключения TCP/UDP;

6. Отключение звука в реальном времени:например,несколько окон Воспроизвести RTSP-поток,Если каждый звук воспроизводится,Очень плохой опыт,так Функция отключения звука в реальном времени очень необходима,Плеер с открытым исходным кодом не имеет функции отключения звука в реальном времени;

7. Ротация просмотра видео:Многие камеры имеют ограничения по установке.,вызывая инвертирование изображения,Хороший RTSP-плеер должен поддерживать поворот видеоизображения в реальном времени (0° 90° 180° 270°), горизонтальная инверсия, вертикальная инверсия, проигрыватели с открытым исходным кодом не имеют этой функции;

8. Поддержка вывода аудио/видео данных после декодирования:Дэниел в прямом эфиреSDKПознакомился со многими разработчиками,Я надеюсь, что в это можно играть одновременно,Получить данные YUV или RGB,Выполните анализ алгоритма, например сопоставление лиц.,Проигрыватель с открытым исходным кодом не имеет этой функции;

9. Снимок в реальном времени:заинтересованныйиливажная картина,Очень нужно заснять это в реальном времени,Обычно у игрока нет возможности делать снимки.,Проигрыватель с открытым исходным кодом не имеет этой функции;

10. Обработка джиттера сети (например, отключение и повторное подключение):Стабильный механизм сетевой обработки、Поддерживает повторное подключение после отключения сети и т. д.,Проигрыватель с открытым исходным кодом имеет плохую поддержку обработки сетевых исключений;

11. Долгосрочная стабильность работы:Отличие от открытого исходного кода на рынкеигрок,SDK прямой трансляции RTSP на платформе Windows, предоставляемый Daniu Live SDK, подходит для долгосрочной работы в течение нескольких дней.,Плеер с открытым исходным кодом имеет плохую поддержку долгосрочной стабильности работы;

12. Информационная запись журнала:Общий механизм процесса фиксируетсяLOGдокумент,Убедитесь, что если что-то пойдет не так,Есть доказательства, на которые можно положиться,Плеер с открытым исходным кодом практически не имеет записей в журнале.

13. Обратная связь по скорости загрузки в режиме реального времени:Дэниел в прямом эфиреSDKОбеспечить обратный вызов для загрузки аудио- и видеопотоков в режиме реального времени.,И вы можете установить интервал времени обратного вызова,Обеспечьте обратную связь о скорости загрузки в режиме реального времени.,Используйте это для мониторинга состояния сети,Проигрыватель с открытым исходным кодом не имеет такой возможности;

14. Обработка статуса исключения, обратный вызов статуса события:Во время воспроизведения,Различные сценарии, такие как отключение сети, дрожание сети и т. д.,Игрок, предоставленный Daniu Live SDK, может проверить соответствующий статус в режиме реального времени.,Обеспечить обработку с учетом модуля верхнего уровня,Плеер с открытым исходным кодом не поддерживает это должным образом;

15. Переключение ключевого кадра/полнокадрового воспроизведения в реальном времени:Особенно при воспроизведении многоканальных изображений,Если слишком много способов,Расшифруй и нарисуй все,Использование системных ресурсов увеличится,Если вы можете гибко справиться с этим,В любое время вы можете воспроизводить только ключевые кадры,Переключатель полнокадрового просмотра,Требования к производительности системы значительно снижены.

Подвести итог

Я считаю, что благодаря приведенному выше функциональному описанию и техническому сравнению двух проигрывателей, VLC Media Player и SmartPlayer, каждому легко сделать свой собственный выбор. Если это требование по требованию, VLC Media Player достаточно. кросс-платформенную прямую трансляцию со сверхмалой задержкой, вы можете попробовать SmartPlayer, который лучше соответствует техническим требованиям с малой задержкой. Вышеуказанное является лишь введением. Заинтересованные разработчики могут связаться со мной индивидуально.

boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose