Потоковое видео по названной 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.

Другие вопросы по тегам