Когда я использую ffmpeg с -f segment
форматом
ffmpeg -f decklink -channels 16 -i "DeckLink Quad (channel_number)" -c:v h264 -s 1280x720 -b:v 1.5M -c:a mp3 -b:a 48K -f segment -segment_time 10 -segment_atclocktime 1 -strftime 1 "/output/path/%Y%m%d%H%M%S.mp4"
, он создает последовательность файлов mp4 в кодировке h264. Затем мне нужно перекодировать эти файлы в HEV C по причинам хранения / экономии полосы пропускания.
На данный момент, если я хочу автоматизировать этот процесс, я не всегда знаю, когда сегменты готовы к транскодированию , что я делаю по:
ffmpeg -y -i path + filename -map 0 -c:v hevc -b:v 500K -s 1280x720 -c:a aac -b:a 48K path + "converted/" + filename
Мой вопрос: Есть ли способ вызывать что-либо внешнее каждый раз, когда ffmpeg открывает новый файл для записи?
Информация: я не могу напрямую кодировать HEV C из ввода, потому что у меня нет подходящего графического процессора, чтобы сделать это, следовательно, кодирование процессора медленнее, чем входной поток, что вызывает «переполнение буфера» на входе decklink