Потоковое видео по названной PIPE с ограниченной пропускной способностью канала
У меня есть видео контейнер vid.mp4
с которым я хочу играть ffplay
через именованную PIPE и иметь возможность настроить максимальную полосу пропускания, разрешенную "каналом". Следит за тем, что я сделал:
1.
Создайте именованную ТРУБУ:
mkfifo pipe_in
2.
Отправьте контейнер на канал с ограниченной пропускной способностью (150 КБ / с) с помощью средства просмотра каналов. pv
:
cat vid.mp4 | pv -L 150k > pipe_in
3.
Воспроизвести видео с ffplay
:
ffplay cache:./pipe_in
Мое ожидание: смотреть видео сразу, но медленно, учитывая ограничение пропускной способности.
Что на самом деле происходит: видео начинает показывать с нормальной скоростью только тогда, когда команда 2.
заканчивает бег.
Заранее спасибо!
1 ответ
Ваше видео должно будет иметь коробку MOOV заранее.
ffmpeg -i vid.mp4 -c copy -movflags +faststart newvid.mp4
Теперь вы должны получить доступное воспроизведение с
ffplay ./pipe_in
Если вы хотите использовать протокол кеширования, вам нужно установить ограничение кеша.
ffplay -read_ahead_limit 65K cache:./pipe_in
Если опция не найдена, обновите ffplay.