Случайно нет видео с той же командой ffmpeg

705
user3278087

Вот команда:

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

0
Только сейчас запустите команду ffmpeg 20 раз подряд. Было видео только 12 раз. 8 раз = только аудио. user3278087 7 лет назад 0
Похоже, что разрыв чередования является большим. Попробуйте с `-analyzeduration 1G -probesize 50M` перед` -i rtmp: // ... ` Gyan 7 лет назад 0
Ты прав. Спасибо, теперь у каждой записи есть видео и звук. Любые советы, какие значения я должен использовать, чтобы убедиться, что всегда будет видео и аудио? PS Если ты напишешь ответ, я, конечно, приму его. user3278087 7 лет назад 0
что такое полный консольный вывод? Если это MPEG, то да, возможно, вам нужно больше анализировать rogerdpack 7 лет назад 0

1 ответ на вопрос

1
Gyan

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

Похожие вопросы