Поток YouTube с mpv, начиная с произвольного момента в видео.

Вопрос или проблема

Я предпочитаю стримить видео с Youtube через mpv,

mpv https://www.youtube.com/watch?v=<video-id>

Однако для длинных видео иногда звук прерывается посередине, оставляя сообщения об ошибках, такие как

[ffmpeg] tls: ошибка в функции pull.

Перезапуск видео означает его начало с самого начала. Как я могу или прямо в командной строке начать с, скажем, 30-й минуты, или, альтернативно, перейти в интерфейсе mpv на 30-ю минуту без нажатия 30 раз кнопки вверх (что также вызывает проблемы, если сделать это слишком быстро)?

Я не нашел ответа на этот вопрос в справке. Это вообще возможно?

Также приветствуются альтернативные предложения для стриминга.

Вы можете использовать --start=MM:SS, чтобы начать видео с MM минут SS секунд.

Например:

mpv --start=45:00 'https://www.youtube.com/watch?v=<video-id>'

Это начнет видео с 45-й минуты.

Получите приличный кэш с помощью youtube-dl (чтобы избежать проблемы с самого начала)

youtube-dl.py -q -f "(137/136)+(141/140)" "$URL"

Воспроизведите кэш с помощью любого плеера (ffplay, vlc, omxplayer, c2play, mpv и т.д.)
Если вы все еще хотите перемотать;

ffplay -ss 30:00 *.mp4

vlc --start-time=1800 *.mp4

omxplayer --pos 00:30:00 *.mp4

c2play --time 00:30:00.00 *.mp4

mpv --start=30:00 *.mp4

Ответ или решение

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

Начало воспроизведения с определенного времени

Чтобы начать воспроизведение видео с конкретной отметки времени, вы можете использовать параметр --start в командной строке. Формат команды выглядит следующим образом:

mpv --start=MM:SS 'https://www.youtube.com/watch?v=<video-id>'

Например, если вы хотите начать воспроизведение с 30-й минуты, используйте следующую команду:

mpv --start=30:00 'https://www.youtube.com/watch?v=<video-id>'

Этот способ предоставляет вам возможность сразу же перейти к нужному моменту в видео, минуя необходимость нажимать кнопку много раз, что может быть особенно неудобно для длинных видео.

Решение проблемы с обрывом аудио

Чтобы минимизировать риск возникновения ошибок, таких как [ffmpeg] tls: Error in the pull function., можно воспользоваться стратегией кэширования, используя сторонний инструмент youtube-dl или его форк yt-dlp.

С помощью youtube-dl вы можете скачать видео с YouTube, оптимизировав кэш, что позволяет избежать проблем с воспроизведением при потоковом просмотре. Команда для скачивания может выглядеть так:

youtube-dl -q -f "(137/136)+(141/140)" 'https://www.youtube.com/watch?v=<video-id>'

После этого вы сможете воспроизвести локальный файл с помощью MPV, используя ту же опцию для начала воспроизведения с определенного времени:

mpv --start=30:00 'путь_к_скачанному_файлу.mp4'

Альтернативные варианты воспроизведения

Если вы хотите иметь дополнительные варианты воспроизведения, помимо MPV, можно рассмотреть следующие медиаплееры:

  • FFplay:

    ffplay -ss 30:00 'путь_к_скачанному_файлу.mp4'
  • VLC:

    vlc --start-time=1800 'путь_к_скачанному_файлу.mp4'
  • Omxplayer:

    omxplayer --pos 00:30:00 'путь_к_скачанному_файлу.mp4'

Эти команды позволят начать воспроизведение в указанный момент времени и могут быть полезными в зависимости от ваших предпочтений в использовании различных плееров.

Заключение

С помощью указанных команд и подходов вы сможете эффективно управлять воспроизведением видео с YouTube, стримя их через MPV или другие медиаплееры. Использование функции кэширования поможет избежать проблем с подключением, обеспечив более стабильный просмотр. Это решение по праву можно считать оптимальным и учитывающим сложные ситуации, которые могут возникать при streaming видео.

Оцените материал
Добавить комментарий

Капча загружается...