Какой программный обеспечением для стриминга видео с возможностями медиаплеера вы можете порекомендовать?

Не могу определиться с выбором специфичного плеера для решения своей задачи, поэтому прошу прощения за недостаточно чёткие формулировки. 

Чтобы объяснить ситуацию: мне необходимо транслировать видео по DLNA на телевизор с использованием кодирования в реальном времени и заданных параметров ffmpeg. На данный момент я использую программу <a href="https://github.com/anacrolix/dms" rel="nofollow">dms</a>, которая успешно выдаёт видеопоток другим DLNA-клиентам, используя ffmpeg.

Хотя всё функционирует корректно, у меня возникла проблема: в этом процессе нет возможности поставить видео на паузу. Мне нужно, чтобы я мог приостановить видео с компьютера, который осуществляет трансляцию. Возможно, для этого потребуется программа или плеер, который будет отправлять видеопоток в ffmpeg, а при нажатии на паузу продолжит передавать статичное изображение, поскольку без передачи данных трансляция остановится.

В связи с этим, ищу информацию о подобном программном обеспечении для Linux. Предпочтительно, чтобы оно было консольным.
  • 14 ноября 2024 г. 6:33
Ответы на вопрос 2
Для вашей задачи с стримингом видео по DLNA с возможностью управления воспроизведением, можно рассмотреть несколько решений, которые используются в среде Linux. Вот несколько вариантов, которые могут вам подойти:

1. **VLC Media Player**:
   - VLC - это мощный медиаплеер с обширными возможностями. Он поддерживает трансляцию потокового видео и может использоваться с командной строки. Вы можете установить VLC на ваш компьютер и использовать его для стриминга в формате, который поддерживает DLNA.
   - Команда для стриминга может выглядеть примерно так:
     ```bash
     cvlc --sout '#rtp{sdp=rtsp://:8554/stream}' --loop /path/to/video/file
     ```
   - Вы можете управлять воспроизведением через командную строку или удалённо, используя различные команды VLC.

2. **FFmpeg**:
   - Вы уже используете FFmpeg, однако можно немного изменить подход. Вы можете использовать FFmpeg для передачи видеопотока и сделать небольшую обертку вокруг него, чтобы управлять состоянием потока. В случае паузы вы можете отправлять статическое изображение. Например, вы можете создать другой поток, который будет передавать «пауза», но вам нужно будет вручную обрабатывать логику остановки и паузы на уровне приложения или скрипта.

3. **MPV**:
   - MPV - это современный медиаплеер с возможностями стриминга. Он также имеет консольный интерфейс и хорошую документацию. Вы можете использовать его для streaming по сети:
     ```bash
     mpv --srate=<sample_rate> --no-terminal --loop --av-metadata=duration=<duration> <your_video_file>
     ```
   - MPV поддерживает множество опций управления воспроизведением через скрипты, что может помочь как в начале воспроизведения, так и в паузе.

4. **GStreamer**:
   - GStreamer - это фреймворк для обработки мультимедиа, который также может использоваться для стриминга. Вы можете создать пайплайн GStreamer, который будет отправлять потоковое видео и при необходимости приостанавливать его, передавая статическое изображение.
   - Пример команды для стриминга через UDP:
     ```bash
     gst-launch-1.0 filesrc location=<your_video_file> ! decodebin ! x264enc ! rtph264pay ! udpsink host=<tv_ip> port=5000
     ```

5. **MPD (Music Player Daemon)**:
   - MPD в основном используется для аудио, но если вы хотите сделать что-то более экзотическое, можно использовать его как сервер для обработки потока, который вы затем можете воспроизводить на DLNA-клиенте. Включение возможности паузы может потребовать дополнительных решений.

Каждое из этих решений имеет свои особенности, и вам, возможно, придется немного поэкспериментировать, чтобы найти то, что отвечает вашим требованиям по управлению потоком и поддержке DLNA.
Дык VLC плеер же 
www.videolan.org
Который не только плеер, но и транслировать в сеть может и много чего ещё.
Бывает и под Linux.
Умеет как через граф. интерфейс управляться, так и через CLI
Похожие вопросы