Runtime issues encountered with FFmpeg's VSR integration with software-based encoders
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 32/100
- Issue-Typ
- Bug
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- cpp
- Bereich
- audio-video-rtc
Rechercherichtung
Start by reproducing the provided FFmpeg commands with the RAISR filter, comparing software-based libx264 and libx265 encoding with and without an OpenCL context. Trace the raisr filter's software-encoder path and the libx265 error, then verify that both encoders complete successfully with output files and no frame-submission errors.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Hello there,
I've built Intel's VSR from the reisr4nas branch of ffmpeg cartwheel, and can likewise confirm that it works as expected; at least in GPU modes where OpenCL is available.
However, the same cannot be said of the out-of-the-box ASM modes with software-based encoding via libx264 and libx265, as documented on the wiki.
These trivial examples simply fail/exit with no output(s) on the console:
With `libx264:
ffmpeg -init_hw_device qsv=hw \
-init_hw_device opencl=cl@hw \
-filter_hw_device cl \
-noautorotate -i "bbb.mp4" \
-vf "raisr=filterfolder=/filters_2x/filters_highres:asm=opencl" \
-c:v libx264 -pix_fmt yuv420p -x264-params "scenecut=0" -maxrate:v 5000k -bufsize:v 1250k \
-keyint_min 120 -g:v 120 -preset:v faster -tune:v fastdecode -bf:v 0 \
-flags +global_header+cgop -f mp4 -y libx264_highres.mp4
With `libx265:
ffmpeg -init_hw_device qsv=hw \
-init_hw_device opencl=cl@hw \
-filter_hw_device cl \
-noautorotate -i "bbb.mp4" \
-vf "raisr=filterfolder=/filters_2x/filters_highres:asm=opencl" \
-c:v libx265 -pix_fmt yuv420p -x265-params "scenecut=0" -maxrate:v 5000k -bufsize:v 1250k \
-keyint_min 120 -g:v 120 -preset:v faster -tune:v fastdecode -bf:v 0 \
-flags +global_header+cgop -f mp4 -y libx265_highres.mp4
Now, if an OpenCL hardware context is provided as with the trivial example below for libx264, and asm=opencl is set, the filter runs/executes as expected:
ffmpeg -init_hw_device qsv=hw \
-init_hw_device opencl=cl@hw \
-filter_hw_device cl \
-noautorotate -i "bbb.mp4" \
-vf "raisr=filterfolder=/filters_2x/filters_highres:asm=opencl" \
-c:v libx264 -pix_fmt yuv420p -x264-params "scenecut=0" -maxrate:v 5000k -bufsize:v 1250k \
-keyint_min 120 -g:v 120 -preset:v faster -tune:v fastdecode -bf:v 0 \
-flags +global_header+cgop -f mp4 -y libx264_highres.mp4
However, attempting the same with libx265 fails with the error:
[libx265 @ 0x556433417c80] Unknown picture type encountered.
[vost#0:0/libx265 @ 0x5564333c5d40] Error submitting video frame to the encoder
[vost#0:0/libx265 @ 0x5564333c5d40] Error encoding a frame: Generic error in an external library
[vost#0:0/libx265 @ 0x5564333c5d40] Task finished with error code: -542398533 (Generic error in an external library)
[vost#0:0/libx265 @ 0x5564333c5d40] Terminating thread with return code -542398533 (Generic error in an external library)
[out#0/mp4 @ 0x5564333fb8c0] video:0KiB audio:135KiB subtitle:0KiB other streams:0KiB global headers:3KiB muxing overhead: 1.210572%
frame= 0 fps=0.0 q=0.0 Lsize= 137KiB time=N/A bitrate=N/A dup=2 drop=0 speed=N/A
x265 [info]: frame I: 1, Avg QP:35.82 kb/s: 923.52
encoded 1 frames in 2.38s (0.42 fps), 923.52 kb/s, Avg QP:35.82
Regardless of the OpenCL device type/context created.
In brief: The filter is virtually unusable with the software-based libx264 and libx265 encoders, as-is, out of the box.
- Vorherrschende Sprache
- C++
- Sterne
- 93
- Forks
- 14
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Entwicklungsumgebung
Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus OpenVisualCloud/Video-Super-Resolution-Library
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
OpenVisualCloud/Video-Super-Resolution-Library#24 · 3 Kommentare ·
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 20/100
OpenVisualCloud/Video-Super-Resolution-Library#23 · 2 Kommentare ·
-
Docker build failsOffen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
OpenVisualCloud/Video-Super-Resolution-Library#4 · 3 Kommentare · 1 Reaktion ·
-
Pkg-config fileOffen
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
OpenVisualCloud/Video-Super-Resolution-Library#2 · 2 Kommentare · 1 Reaktion ·
Alle Issues in OpenVisualCloud/Video-Super-Resolution-Library
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
pocoproject/poco#5664 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
charmplusplus/charm#4210 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
cp-algorithms/cp-algorithms#1748 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag