Ffmpeg объединяет видео файл с ускорением hw, используя cuvid - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь использовать аппаратное ускорение Nvidia для FFmpeg, используя cuvid. Я хочу объединить несколько файлов h264 / mp4, используя сложный фильтр (упрощенный пример):

ffmpeg -hwaccel cuvid -c:v h264_cuvid -i input.ts -y -fflags +genpts -filter_complex "[0:v:0][0:a:0]concat=n=1:v=1:a=1[outv][outa]" -map "[outv]" -map "[outa]" output.mp4

Я использую следующую версию FFmpeg и Ubuntu 16.04:

version 3.4.2-1~16.04.york0.2 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609

Если я запускаю команду, я получаю следующую ошибку:

Impossible to convert between the formats supported by the filter 'Parsed_concat_0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented

Когда я убираю флаг hwaccel, команда запускается, но я получаю значительную нагрузку на процессор. Как я могу использовать concat complex_filter в сочетании с ускорением cuvid hw?

РЕШЕНИЕ

Конкат демуксинга сработал. Выход энкодера теперь в х264. Я группирую файлы в list.txt:

file '/path/to/file1'
file '/path/to/file2'
file '/path/to/file3'

Затем запустите ffmpeg:

ffmpeg -y -f concat -safe 0 -i list.txt -c copy result.mp4

1 Ответ

0 голосов
/ 30 мая 2018

РЕШЕНИЕ

Конкат демультирование сработало.Выход энкодера теперь в х264.Я группирую файлы в list.txt:

file '/ path / to / file1' file '/ path / to / file2' file '/ path / to / file3' Затем запускаю ffmpeg:

ffmpeg -y -f concat -safe 0 -i list.txt -c копировать result.mp4

...