[FFmpeg-user] Multicore CPU run

Dennis Mungai dmngaie at gmail.com
Sat Feb 2 17:56:01 EET 2019


On Thu, Jan 31, 2019, 22:45 Mahmood Naderan <mahmood.nt at gmail.com wrote:

> Hi,
> I want to run a multicore CPU job with ffmpeg and I think the command
> should be
>
> ./ffmpeg  -i ../4k_normal.mp4 -vf scale_npp=1280:720 720p1.mp4
>
> but it fails
>
> ./ffmpeg  -i ../4k_normal.mp4 -vf scale_npp=1280:720 720p1.mp4
> ffmpeg version N-93005-gd92f06eb66 Copyright (c) 2000-2019 the FFmpeg
> developers
>   built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)
>   configuration: --enable-cuda --enable-cuvid --enable-nvenc
> --enable-nonfree --enable-filter=scale_cuda --enable-cuda-sdk
> --enable-libnpp --extra-cflags=-I/usr/local/cuda/include
> --extra-ldflags=-L/usr/local/cuda/lib64
>   libavutil      56. 26.100 / 56. 26.100
>   libavcodec     58. 44.100 / 58. 44.100
>   libavformat    58. 26.100 / 58. 26.100
>   libavdevice    58.  6.101 / 58.  6.101
>   libavfilter     7. 48.100 /  7. 48.100
>   libswscale      5.  4.100 /  5.  4.100
>   libswresample   3.  4.100 /  3.  4.100
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '../4k_normal.mp4':
>   Metadata:
>     major_brand     : isom
>     minor_version   : 512
>     compatible_brands: isomiso2avc1mp41
>     encoder         : Lavf57.71.100
>   Duration: 00:01:31.91, start: 0.000000, bitrate: 32684 kb/s
>     Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p,
> 3840x2160 [SAR 1:1 DAR 16:9], 32482 kb/s, 29.97 fps, 29.97 tbr, 30k tbn,
> 59.94 tbc (default)
>     Metadata:
>       handler_name    : VideoHandler
>     Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz,
> stereo, fltp, 195 kb/s (default)
>     Metadata:
>       handler_name    : SoundHandler
> Stream mapping:
>   Stream #0:0 -> #0:0 (h264 (native) -> mpeg4 (native))
>   Stream #0:1 -> #0:1 (aac (native) -> aac (native))
> Press [q] to stop, [?] for help
> Impossible to convert between the formats supported by the filter 'graph 0
> input from stream 0:0' and the filter 'auto_scaler_0'
> Error reinitializing filters!
> Failed to inject frame into filter network: Function not implemented
> Error while processing the decoded data for stream #0:0
> [aac @ 0x5614c4890340] Qavg: 138.484
> [aac @ 0x5614c4890340] 2 frames left in the queue on closing
> Conversion failed!
>
>
> May I ask what is missing?
>
> Regards,
> Mahmood
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".



Pretty obvious.

You're missing a device upon which to run the scaler on.
In this case, you should initialise a device type cuda and then call if up
for scaling.

I'll provide an example of this when I'm on the computer.

You don't need to use NVDEC (and infact I cannot recommend it in production
because the decoder will gradually be saturated and bottleneck the encoder
when many simultaneous decodes are running. Note that hardware accelerated
decode is targeted for real time PLAYBACK without using any CPU resources,
and does not necessarily imply to be faster than a software based decode.)


More information about the ffmpeg-user mailing list