Передача транскодированного видео на лету для вставки результатов http без использования панели поиска
Я пытаюсь найти простое домашнее решение для потоковой передачи / транскодирования видео на низкокачественную машину, которая не может правильно воспроизвести файл.
Я пытаюсь сделать это с ffmpeg
(как ffserver
будет прекращено) Я узнал, что ffmpeg имеет встроенный http-сервер, который можно использовать для этого.
Приложение, которое я тестирую с (для seekbar
) VLC
Я, вероятно, делаю что-то здесь не так (или пытаюсь сделать что-то, что другие делают с другими приложениями)
Мой код ffmpeg, который я использую:
d: \ ffmpeg \ bin \ ffmpeg.exe -r 24 -i "D: \ test.mkv" -потоки 2 -vf scale=1280:720 -c:v libx264 -preset medium -crf 20 -maxrate 1000k -bufsize 2000k -c:ac3 -поиск 1 -мовфлагов faststart -listen 1 -f mpegts http://127.0.0.1:8080/test.mpegts
Этот код также дает мне возможность начать смотреть его, когда я захочу (в отличие от использования rtmp через udp, который будет запускать видео, как только он перекодирует его)
Я читал о переезде atoom
вещь в начале файла, которая должна быть обработана movflags faststart
Я также проверил -re
вариант без удачи, -r 25
это просто подавить Past duration 0.xx too large
предупреждение, которое я читаю, это нормальная вещь. Тестовый файл один из многих с разными настройками кодера и т. д.
Настройки выше дают мне seekbar
но это не работает и никакой общей продолжительности (и без индикатора выполнения), когда я переключаюсь с mpegts на matroska/mkv, я вижу длительность видео (и прогресс), но не панель поиска.
Если это возможно только с ffmpeg, я бы предпочел использовать его как автономное решение без дополнительных серверов rtmp/others.
1 ответ
Через некоторое время я добираюсь до точки, где:
Панель поиска - это вещь на стороне игрока, hls в версии v6 поддерживает указание на стартовый элемент, так как v3 стартует, где бы он ни находился (не более 3 предметов из конца списка)
Воспроизведение и поиск основаны на проигрывателе (Safari на ios поддерживает его, но не поддерживает), а также ffserver не нужен для загрузки содержимого.
В конце концов, он отлично работает без поиска, и, если требуется, поддержите его с помощью player/js.player или через промежуточное ПО, например прокси-сервер видео.