Я хочу выполнить перекодировку видео на GPU при захвате из него ключевых кадров. Для захвата ключевых кадров я захватываю те, которые имеют более 50% изменений по сравнению с предыдущей сценой.
Для перекодирования я использую: ffmpeg -vsync 0 -hwaccel cuvid -c:v h264_cuvid -i input.mp4 -c:a copy -c:v h264_nvenc output.mp4
Для записи изменений сцены я using: ffmpeg -i input.mp4 -vf "select=gt(scene\,0.5), scale=1280:720" -vsync vfr .\thumbnails\thumb%03d.jpg
Обе команды работают, но я хочу выполнять их вместе. Я хочу что-то вроде:
ffmpeg -vsync 0 -hwaccel cuvid -c:v h264_cuvid -i input.mp4 -c:a copy -c:v h264_nvenc output.mp4 -vf "select=gt(scene\,0.5), scale=1280:720" -vsync vfr .\thumbnails\thumb%03d.jpg
, но это не работает. Ошибка:
Impossible to convert between the formats supported by the filter 'graph 1 input from stream 0:0' and the filter 'auto_scaler_0'
Error reinitializing filters!
Failed to inject frame into filter network: Function not implemented
Error while processing the decoded data for stream #0:0
Любая помощь?
Заранее спасибо