Разве мы не можем выполнить декодирование MJPEG на графическом процессоре NVIDIA с помощью FFMPEG?

762
a_sid

Этот пост вдохновил меня на экспериментирование с декодированием MJPEG на Tesla K20c. Я набрал следующую команду в командной строке:

ffmpeg -hwaccel -r 10 -i 14_258.mjpeg -vcodec opencl helicopter.avi 

и это произвело следующий вывод:

ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) configuration: --valgrind=VALGRIND WARNING: library configuration mismatch avutil configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads avcodec configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads avformat configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads avdevice configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads avfilter configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads swscale configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads swresample configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads libavutil 54. 27.100 / 54. 27.100 libavcodec 56. 41.100 / 56. 41.100 libavformat 56. 36.100 / 56. 36.100 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.100 / 1. 2.100 [mjpeg @ 0xf41ac0] Format mjpeg detected only with low score of 25, misdetection possible! [mjpeg @ 0xf42780] ignoring invalid SAR: 270/187 Input #0, mjpeg, from '14_258.mjpeg': Duration: N/A, bitrate: N/A Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 352x288, 25 tbr, 1200k tbn, 25 tbc Option hwaccel (use HW accelerated decoding) cannot be applied to output file 10 -- you are trying to apply an input option to an output file or vice versa. Move this option before the file it belongs to. Error parsing options for output file 10. Error opening output files: Invalid argument 

Могу ли я выполнить декодирование MJPEG на моем GPU с помощью FFMPEG?

РЕДАКТИРОВАТЬ:

В соответствии с опубликованными комментариями я набрал свою команду следующим образом:

ffmpeg -r 10 -hwaccel auto -i 14_258.mjpeg -vcodec opencl helicopter.avi 

Это дало следующий результат:

ffmpeg version 2.7.2 Copyright (c) 2000-2015 the FFmpeg developers built with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-17) configuration: --valgrind=VALGRIND WARNING: library configuration mismatch avutil configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads avcodec configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads avformat configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads avdevice configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads avfilter configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads swscale configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads swresample configuration: --enable-gpl --enable-postproc --enable-swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libx264 --enable-shared --enable-pthreads libavutil 54. 27.100 / 54. 27.100 libavcodec 56. 41.100 / 56. 41.100 libavformat 56. 36.100 / 56. 36.100 libavdevice 56. 4.100 / 56. 4.100 libavfilter 5. 16.101 / 5. 16.101 libswscale 3. 1.101 / 3. 1.101 libswresample 1. 2.100 / 1. 2.100 [mjpeg @ 0x23d91e0] Format mjpeg detected only with low score of 25, misdetection possible! [mjpeg @ 0x23d9c00] ignoring invalid SAR: 270/187 Input #0, mjpeg, from '14_258.mjpeg': Duration: N/A, bitrate: N/A Stream #0:0: Video: mjpeg, yuvj420p(pc, bt470bg/unknown/unknown), 352x288, 25 tbr, 1200k tbn, 25 tbc Unknown encoder 'opencl' 

РЕДАКТИРОВАТЬ:

Я проверил этот документ, чтобы узнать об аппаратном ускорении, и заметил, что там написано 'N / A' для декодирования и кодирования с OpenCL.

Это заставляет меня думать, что вы не можете выполнять декодирование MJPEG с помощью OpenCL. Но как мы можем сделать кодирование H264 с помощью OpenCL, хотя (по ссылке) OpenCL не поддерживает его?

0
В качестве первого шага сообщение об ошибке требует, чтобы вы переместили опцию `-hwaccel`. Это предполагает, что это должно быть непосредственно перед вашим входным файлом, а не иметь другие варианты в пути. Попробуйте переместить `-r 10` перед` -hwaccel`. Mokubai 7 лет назад 0
`hwaccel` ожидает значение, но ничего не предоставлено, поэтому он принимает следующий токен` -r` в качестве значения и, таким образом, `10` становится выходным токеном. Добавьте `auto` сразу после` -hwaccel`. Просто исправляю синтаксическую ошибку. Не верьте, что доступен аппаратный декодер MJPEG. Gyan 7 лет назад 0
@Mokubai и Mulvya Спасибо за ваши предложения. Я запустил эту команду: `ffmpeg -r 10 -hwaccel auto -i 14_258.mjpeg -vcodec opencl helicopter.avi`, и она выдала мне ошибку« Неизвестный кодировщик »opencl'`. a_sid 7 лет назад 0

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

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