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@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@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! > -------------- _______________________________________________ ffmpeg-user mailing list ffmpeg-user@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email ffmpeg-user-requ...@ffmpeg.org with subject "unsubscribe".