[FFmpeg-user] [Parsed_overlay_opencl_5 @ 0x4f22e80] Failed to finish command queue:
Mark Thompson
sw at jkqxz.net
Tue Jan 9 15:02:43 EET 2018
On 09/01/18 06:01, 郭浩 wrote:
> i want to use overlay_opencl, and i build the ffmpeg with opencl success! but i run the command , it alway report "[Parsed_overlay_opencl_5 @ 0x4f22e80] Failed to finish command queue:",i am not sure my command is correct , can someone tell me how this should be corrected? Thanks
>
>
> this is my cmd:
> cmd:
> -----------------
> ./ffmpeg -init_hw_device opencl=cl:0.0 -filter_hw_device cl -i "udp://230.0.0.100:53007?overrun_nonfatal=1" -filter_complex "color=c=black at 1:s=1280x720,hwupload[bg];[0:v]setpts=PTS-STARTPTS,scale=w=426:h=240,hwupload[v0];[bg][v0]overlay_opencl=x=0:y=0 ,hwdownload " -c:v hevc_nvenc -b:v 4M -r 25 -g 25 -f mpegts "udp://230.0.0.240:53001?pkt_size=1316&localaddr=192.168.172.115&overrun_nonfatal=1&fifo_size=286720&ttl=64&bitrate=4096000"
> -----------------
Does it work if you remove all of the other external stuff (replace the udp with normal files and nvenc with a software encoder)?
I don't have that other stuff available for testing, but the following command without them does work for me (using Beignet):
./ffmpeg_g -init_hw_device opencl=cl:0.0 -filter_hw_device cl -i input_1080p.mp4 -filter_complex "color=c=black at 1:s=1280x720,hwupload[bg];[0:v]setpts=PTS-STARTPTS,scale=w=426:h=240,hwupload[v0];[bg][v0]overlay_opencl=x=0:y=0 ,hwdownload " -c:v libx264 -b:v 4M -r 25 -g 25 -f mpegts out.ts
A few other thoughts:
* overlay_opencl in isolation isn't necessarily faster or even using less CPU than normal overlay when you take into account the extra upload/download steps needed (it's more intended for cases when you have interop and can keep things on the GPU).
* Format selection is kindof tricky, because the negotiation can't see through properly to the underlying hardware formats. You could try adding "format=yuv420p" (or another choice, maybe nv12) before the hwupload instances, though I'm not sure why your setup would give a different answer to mine there.
* A log with "-v debug" will have a bit more information about the OpenCL device and setup - please post that if you still can't get it to work.
- Mark
> report:
> ---------------
> --enable-doc --enable-postproc --enable-bzlib --enable-zlib --enable-parsers --enable-libx264 --enable-libx265 --enable-libmp3lame --enable-libfdk-aac --enable-libspeex --enable-pthreads --extra-libs=-lpthread --enable-decoders --enable-encoders --enable-avfilter --enable-muxers --enable-demuxers --enable-nvenc --enable-cuvid --enable-cuda --enable-libnpp --enable-opencl --enable-decoders
> libavutil 56. 7.100 / 56. 7.100
> libavcodec 58. 9.100 / 58. 9.100
> libavformat 58. 3.100 / 58. 3.100
> libavdevice 58. 0.100 / 58. 0.100
> libavfilter 7. 11.101 / 7. 11.101
> libswscale 5. 0.101 / 5. 0.101
> libswresample 3. 0.101 / 3. 0.101
> libpostproc 55. 0.100 / 55. 0.100
> Input #0, mpegts, from 'udp://230.0.0.100:53007?overrun_nonfatal=1':
> Duration: N/A, start: 2197.197333, bitrate: N/A
> Program 1
> Metadata:
> service_name : ffmpeg
> service_provider: ffmpeg
> Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 428x240 [SAR 320:321 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
> Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 58 kb/s
> Stream mapping:
> Stream #0:0 (h264) -> setpts (graph 0)
> hwdownload (graph 0) -> Stream #0:0 (hevc_nvenc)
> Stream #0:1 -> #0:1 (aac (native) -> mp2 (native))
> Press [q] to stop, [?] for help
> [Parsed_overlay_opencl_5 @ 0x4f22e80] Failed to finish command queue: -36.
> Error while filtering: Input/output error
> Failed to inject frame into filter network: Input/output error
> Error while processing the decoded data for stream #0:0
> Conversion failed!
> --------------
More information about the ffmpeg-user
mailing list