1

Некоторое время я пытался выяснить, каким образом FFMpeg может вводить URL-адрес flv и выводить в stdout mp4.

Видимо mp4 требует, чтобы прочитать размер файла, чтобы полностью работать.

Есть ли способ, которым я мог бы использовать FFMpeg по трубопроводу?

1 ответ1

5

Мультиплексору MP4 требуется возможность поиска в потоке для обновления метаданных после записи потока. Поиск в обратном направлении невозможен на stdout - или на трубах вообще.

Следовательно, нет способа доставить контейнер MP4 значимым образом. Это, однако, не ограничивает вас от использования какого-либо конкретного кодека, такого как H.264, который также называется MPEG-4 (AVC). Просто убедитесь, что вы используете контейнерный формат, который позволяет потоковую передачу, например, MPEG-TS или Matroska.

Если вы готовы принять решение, которое не выполняет потоковую передачу результирующих кадров, но при этом соответствует вашей спецификации (чтение FLV из ресурса URL, вывод MP4 в стандартный вывод), вы всегда можете сначала попытаться закодировать FLV во временный файл. и затем выведите это на стандартный вывод.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .