Können wir keine MJPEG-Decodierung auf einer NVIDIA-GPU mit FFMPEG durchführen?

766
a_sid

Ich wurde von diesem Beitrag inspiriert, um mit der MJPEG-Decodierung auf einem Tesla K20c zu experimentieren. Ich habe den folgenden Befehl an der Eingabeaufforderung eingegeben:

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

und es ergab folgende Ausgabe:

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 

Gibt es sowieso für mich MJPEG-Decodierung auf meiner GPU mithilfe von FFMPEG?

BEARBEITEN:

Laut den Kommentaren habe ich meinen Befehl folgendermaßen eingegeben:

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

Dies ergab folgende Ausgabe:

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' 

BEARBEITEN:

Ich habe in diesem Dokument nach Informationen zur Hardwarebeschleunigung gesucht und festgestellt, dass dort sowohl für das Dekodieren als auch für das Kodieren mit OpenCL "N / A" steht.

Dies führt mich zu der Annahme, dass Sie keine MJPEG-Decodierung mit OpenCL durchführen können. Aber wie können wir H264-Codierungen mit OpenCL durchführen, obwohl OpenCL (laut Link) dies nicht unterstützt?

0
Als ersten Schritt möchte die Fehlermeldung, dass Sie die Option -hwaccel verschieben. Es schlägt vor, dass es direkt vor Ihrer Eingabedatei sein sollte, anstatt andere Optionen im Weg zu haben. Bewegen Sie die "-r 10" vor dem "-hwaccel". Mokubai vor 7 Jahren 0
"hwaccel" erwartet einen Wert, es wird jedoch kein Wert angegeben. Daher wird das nächste Token "-r" als Wert verwendet, und "10" wird zum Ausgabe-Token. Fügen Sie "auto" direkt nach "-hwaccel" hinzu. Nur den Syntaxfehler korrigieren. Glauben Sie nicht, dass ein Hardware-MJPEG-Decoder verfügbar ist. Gyan vor 7 Jahren 0
@Mokubai und Mulvya Vielen Dank für Ihre Vorschläge. Ich habe diesen Befehl ausgeführt: `ffmpeg -r 10 -hwaccel auto -i 14_258.mjpeg -vcodec opencl helicopter.avi` und es wurde mir der Fehler` Unbekannter Encoder 'opencl'` angezeigt. a_sid vor 7 Jahren 0

0 Antworten auf die Frage