Вот команда:

ffmpeg -i rtmp://localhost/myapp/obs -c:a libfdk_aac -b:a 32k -c:v libx264 -f flv rtmp://localhost/hls/obs_low

Мой RTMP-сервер записывает все опубликованные потоки, поэтому я могу просматривать их все. Странно то, что при rtmp://localhost/myapp/obs , если я запускаю указанную выше команду ffmpeg, в выходном файле будет только аудио, но нет видео. И в выводе терминала:

Stream mapping: Stream #0:0 -> #0:0 (aac (native) -> aac (libfdk_aac))

Но если я снова выполню ту же команду, может появиться видео. Случайно, видео есть или нет. Если видео есть, я вижу этот вывод в терминале:

Stream mapping: Stream #0:1 -> #0:0 (h264 (native) -> h264 (libx264)) Stream #0:0 -> #0:1 (aac (native) -> aac (libfdk_aac))

Полный вывод команды «только для аудио»: http://pastebin.com/zL0ctvTZ

Полный вывод «успешной» команды: http://pastebin.com/DQ1XJ1wM

1 ответ1

1

Похоже, что разрыв перемежения является большим. Попробуйте с -analyzeduration 1G -probesize 50M -i rtmp://... Значения представляют собой компромисс между отсутствием потоков и задержкой начала захвата, поэтому я бы предложил провести испытания. Значение по умолчанию для анализируемой и исследуемой величин составляет 5M МБ, поэтому попробуйте с немного большими значениями, пока вы не получите последовательно пропадание потока. Сначала поэкспериментируйте с пробной версией Возможно, вам не нужно указывать другой.

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