[FFmpeg-user] DASH/HLS with CUDA h264_nvenc

andrei ka andrei.k.gml at gmail.com
Mon Mar 28 13:05:32 EEST 2022


doc
https://docs.nvidia.com/video-technologies/video-codec-sdk/ffmpeg-with-nvidia-gpu/
example :

ffmpeg -y -vsync 0 -hwaccel cuda -hwaccel_output_format cuda -i input.mp4
-vf scale_npp=1920:1080 -c:a copy -c:v h264_nvenc -b:v 5M output1.mp4
-vf scale_npp=1280:720 -c:a copy -c:v h264_nvenc -b:v 8M output2.mp4

imho, you should try :

ffmpeg -loglevel debug -hwaccel cuda -hwaccel_output_format cuda -y -i
"X:\z_published\360video\330311.mp4"-keyint_min 90 -g 90 -r 30
-sc_threshold 0 \
-c:v h264_nvenc -pix_fmt yuv420p -c:a aac -b:a 128k -ac 1 -ar 44100 \
-vf scale_cuda=1920:960 -b:v 2M -maxrate:0 2.14M -bufsize:0 3.5M \
-vf scale_cuda=1440:720 -b:v:1 145k -maxrate:1 155k -bufsize:1 220k \
 -vf scale_cuda=2880:1440 -b:v 365k -maxrate:2 390k -bufsize:2 640k  ...
-init_seg_name init\$RepresentationID\$.\$ext\$
-media_seg_name chunk\$RepresentationID\$-\$Number%05d\$.\$ext\$
-use_template 1 -use_timeline 1 -f dash X:\DASH\DASHOUT\dash.mpd

once you've declared the same used for all br h264_nvenc /  yuv420p you
don't need to repeat 'em
map 0:n + vf:n etc are used for source selection of n'th stream, you don't
do this :-) btw,  i'd drop  -pix_fmt yuv420p and leave cuda figure it all
out (i don't remember why, i've
checked the code we've been runnig for a while, for cpu we do explicit
yuv420p conv before conding, for cuda - no (and we don't use nv12 in
vf...)... + beware, 422 inputs won't work
(unless they've added it by now...)

if you can compile ffmpeg with npp it'll be more efficient (+
use :interp_algo=super)

beware about stuffing too many bitrates into one command may fill up the
ram of your nvidia :-)

&rei

On Mon, Mar 28, 2022 at 3:44 AM Douglas Rhiner <douglasrhiner at gmail.com>
wrote:

> I've done some more reading and have modified things a tad.which seems to
> be getting me closer but the -vf:# scale_cuda seems to be the issue now.
> There seems to be VERY little information about any of this. Especially
> when it comes to hardware acceleration and stream mapping.
>
>
> *Here  is the command:*ffmpeg -loglevel debug -hwaccel cuda
> -hwaccel_output_format cuda -y -i "X:\z_published\360video\330311.mp4"
> -keyint_min 90 -g 90 -r 30 -sc_threshold 0 -c:v h264_nvenc -pix_fmt yuv420p
> -c:a aac -b:a 128k -ac 1 -ar 44100 -map v:0 -vf:0 scale_cuda=1920:960 -c:v
> h264_nvenc -pix_fmt yuv420p -b:v:0 2M -maxrate:0 2.14M -bufsize:0 3.5M -map
> v:0 -vf:1 scale_cuda=1440:720 -c:v h264_nvenc -pix_fmt yuv420p -b:v:1 145k
> -maxrate:1 155k -bufsize:1 220k -map v:0 -vf:2 scale_cuda=2880:1440 -c:v
> h264_nvenc -pix_fmt yuv420p -b:v:2 365k -maxrate:2 390k -bufsize:2 640k
> -map v:0 -vf:3 scale_cuda=3320:1660 -c:v h264_nvenc -pix_fmt yuv420p -b:v:3
> 730k -maxrate:3 781k -bufsize:3 1278k -map v:0 -vf:4 scale_cuda=3320:1660
> -c:v h264_nvenc -pix_fmt yuv420p -b:v:4 1.1M -maxrate:4 1.17M -bufsize:4 2M
> -map v:0 -vf:5 scale_cuda=3840:1920 -c:v h264_nvenc -pix_fmt yuv420p -b:v:5
> 3M -maxrate:5 3.21M -bufsize:5 5.5M -map v:0 -vf:6 scale_cuda=3840:1920
> -c:v h264_nvenc -pix_fmt yuv420p -b:v:6 4.5M -maxrate:6 4.8M -bufsize:6 8M
> -map v:0 -vf:7 scale_cuda=4096:2048 -c:v h264_nvenc -pix_fmt yuv420p -b:v:7
> 6M -maxrate:7 6.42M -bufsize:7 11M -map v:0 -vf:8 scale_cuda=4096:2048 -c:v
> h264_nvenc -pix_fmt yuv420p -b:v:8 7.8M -maxrate:8 8.3M -bufsize:8 14M -map
> 0:a -init_seg_name init\$RepresentationID\$.\$ext\$ -media_seg_name
> chunk\$RepresentationID\$-\$Number%05d\$.\$ext\$ -use_template 1
> -use_timeline 1 -f dash X:\DASH\DASHOUT\dash.mpd
>
> *And here is the debugging log:*
> ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers
>   built with gcc 9.3.1 (GCC) 20200523
>   configuration: --enable-gpl --enable-version3 --enable-sdl2
> --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass
> --enable-libdav1d --enable-libbluray --enable-libfreetype
> --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb
> --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy
> --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx
> --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265
> --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp
> --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc
> --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom
> --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid
> --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2
> --enable-avisynth --enable-libopenmpt
>   libavutil      56. 31.100 / 56. 31.100
>   libavcodec     58. 54.100 / 58. 54.100
>   libavformat    58. 29.100 / 58. 29.100
>   libavdevice    58.  8.100 / 58.  8.100
>   libavfilter     7. 57.100 /  7. 57.100
>   libswscale      5.  5.100 /  5.  5.100
>   libswresample   3.  5.100 /  3.  5.100
>   libpostproc    55.  5.100 / 55.  5.100
> Splitting the commandline.
> Reading option '-loglevel' ... matched as option 'loglevel' (set logging
> level) with argument 'debug'.
> Reading option '-hwaccel' ... matched as option 'hwaccel' (use HW
> accelerated decoding) with argument 'cuda'.
> Reading option '-hwaccel_output_format' ... matched as option
> 'hwaccel_output_format' (select output format used with HW accelerated
> decoding) with argument 'cuda'.
> Reading option '-y' ... matched as option 'y' (overwrite output files) with
> argument '1'.
> Reading option '-i' ... matched as input url with argument
> 'X:\z_published\360video\330311.mp4'.
> Reading option '-keyint_min' ... matched as AVOption 'keyint_min' with
> argument '90'.
> Reading option '-g' ... matched as AVOption 'g' with argument '90'.
> Reading option '-r' ... matched as option 'r' (set frame rate (Hz value,
> fraction or abbreviation)) with argument '30'.
> Reading option '-sc_threshold' ... matched as AVOption 'sc_threshold' with
> argument '0'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-c:a' ... matched as option 'c' (codec name) with argument
> 'aac'.
> Reading option '-b:a' ... matched as option 'b' (video bitrate (please use
> -b:v)) with argument '128k'.
> Reading option '-ac' ... matched as option 'ac' (set number of audio
> channels) with argument '1'.
> Reading option '-ar' ... matched as option 'ar' (set audio sampling rate
> (in Hz)) with argument '44100'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument 'v:0'.
> Reading option '-vf:0' ... matched as option 'vf' (set video filters) with
> argument 'scale_cuda=1920:960'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-b:v:0' ... matched as option 'b' (video bitrate (please
> use -b:v)) with argument '2M'.
> Reading option '-maxrate:0' ... matched as AVOption 'maxrate:0' with
> argument '2.14M'.
> Reading option '-bufsize:0' ... matched as AVOption 'bufsize:0' with
> argument '3.5M'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument 'v:0'.
> Reading option '-vf:1' ... matched as option 'vf' (set video filters) with
> argument 'scale_cuda=1440:720'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-b:v:1' ... matched as option 'b' (video bitrate (please
> use -b:v)) with argument '145k'.
> Reading option '-maxrate:1' ... matched as AVOption 'maxrate:1' with
> argument '155k'.
> Reading option '-bufsize:1' ... matched as AVOption 'bufsize:1' with
> argument '220k'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument 'v:0'.
> Reading option '-vf:2' ... matched as option 'vf' (set video filters) with
> argument 'scale_cuda=2880:1440'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-b:v:2' ... matched as option 'b' (video bitrate (please
> use -b:v)) with argument '365k'.
> Reading option '-maxrate:2' ... matched as AVOption 'maxrate:2' with
> argument '390k'.
> Reading option '-bufsize:2' ... matched as AVOption 'bufsize:2' with
> argument '640k'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument 'v:0'.
> Reading option '-vf:3' ... matched as option 'vf' (set video filters) with
> argument 'scale_cuda=3320:1660'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-b:v:3' ... matched as option 'b' (video bitrate (please
> use -b:v)) with argument '730k'.
> Reading option '-maxrate:3' ... matched as AVOption 'maxrate:3' with
> argument '781k'.
> Reading option '-bufsize:3' ... matched as AVOption 'bufsize:3' with
> argument '1278k'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument 'v:0'.
> Reading option '-vf:4' ... matched as option 'vf' (set video filters) with
> argument 'scale_cuda=3320:1660'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-b:v:4' ... matched as option 'b' (video bitrate (please
> use -b:v)) with argument '1.1M'.
> Reading option '-maxrate:4' ... matched as AVOption 'maxrate:4' with
> argument '1.17M'.
> Reading option '-bufsize:4' ... matched as AVOption 'bufsize:4' with
> argument '2M'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument 'v:0'.
> Reading option '-vf:5' ... matched as option 'vf' (set video filters) with
> argument 'scale_cuda=3840:1920'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-b:v:5' ... matched as option 'b' (video bitrate (please
> use -b:v)) with argument '3M'.
> Reading option '-maxrate:5' ... matched as AVOption 'maxrate:5' with
> argument '3.21M'.
> Reading option '-bufsize:5' ... matched as AVOption 'bufsize:5' with
> argument '5.5M'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument 'v:0'.
> Reading option '-vf:6' ... matched as option 'vf' (set video filters) with
> argument 'scale_cuda=3840:1920'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-b:v:6' ... matched as option 'b' (video bitrate (please
> use -b:v)) with argument '4.5M'.
> Reading option '-maxrate:6' ... matched as AVOption 'maxrate:6' with
> argument '4.8M'.
> Reading option '-bufsize:6' ... matched as AVOption 'bufsize:6' with
> argument '8M'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument 'v:0'.
> Reading option '-vf:7' ... matched as option 'vf' (set video filters) with
> argument 'scale_cuda=4096:2048'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-b:v:7' ... matched as option 'b' (video bitrate (please
> use -b:v)) with argument '6M'.
> Reading option '-maxrate:7' ... matched as AVOption 'maxrate:7' with
> argument '6.42M'.
> Reading option '-bufsize:7' ... matched as AVOption 'bufsize:7' with
> argument '11M'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument 'v:0'.
> Reading option '-vf:8' ... matched as option 'vf' (set video filters) with
> argument 'scale_cuda=4096:2048'.
> Reading option '-c:v' ... matched as option 'c' (codec name) with argument
> 'h264_nvenc'.
> Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel
> format) with argument 'yuv420p'.
> Reading option '-b:v:8' ... matched as option 'b' (video bitrate (please
> use -b:v)) with argument '7.8M'.
> Reading option '-maxrate:8' ... matched as AVOption 'maxrate:8' with
> argument '8.3M'.
> Reading option '-bufsize:8' ... matched as AVOption 'bufsize:8' with
> argument '14M'.
> Reading option '-map' ... matched as option 'map' (set input stream
> mapping) with argument '0:a'.
> Reading option '-init_seg_name' ... matched as AVOption 'init_seg_name'
> with argument 'init\$RepresentationID\$.\$ext\$'.
> Reading option '-media_seg_name' ... matched as AVOption 'media_seg_name'
> with argument 'chunk\$RepresentationID\$-\$Number%05d\$.\$ext\$'.
> Reading option '-use_template' ... matched as AVOption 'use_template' with
> argument '1'.
> Reading option '-use_timeline' ... matched as AVOption 'use_timeline' with
> argument '1'.
> Reading option '-f' ... matched as option 'f' (force format) with argument
> 'dash'.
> Reading option 'X:\DASH\DASHOUT\dash.mpd' ... matched as output url.
> Finished splitting the commandline.
> Parsing a group of options: global .
> Applying option loglevel (set logging level) with argument debug.
> Applying option y (overwrite output files) with argument 1.
> Successfully parsed a group of options.
> Parsing a group of options: input url X:\z_published\360video\330311.mp4.
> Applying option hwaccel (use HW accelerated decoding) with argument cuda.
> Applying option hwaccel_output_format (select output format used with HW
> accelerated decoding) with argument cuda.
> Successfully parsed a group of options.
> Opening an input file: X:\z_published\360video\330311.mp4.
> [NULL @ 000001e733470380] Opening 'X:\z_published\360video\330311.mp4' for
> reading
> [file @ 000001e73346df40] Setting default whitelist 'file,crypto'
> [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e733470380] Format mov,mp4,m4a,3gp,3g2,mj2
> probed with size=2048 and score=100
> [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e733470380] ISO: File Type Major Brand:
> mp42
> [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e733470380] Unknown dref type 0x206c7275
> size 12
> [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e733470380] Processing st: 0, edit list 0
> - media time: 0, duration: 14563549
> [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e733470380] Unknown dref type 0x206c7275
> size 12
> [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e733470380] Processing st: 1, edit list 0
> - media time: 0, duration: 23301678
> [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e733470380] Before
> avformat_find_stream_info() pos: 197401 bytes read:219099 seeks:0
> nb_streams:2
> [h264 @ 000001e733472280] nal_unit_type: 7(SPS), nal_ref_idc: 3
> [h264 @ 000001e733472280] nal_unit_type: 8(PPS), nal_ref_idc: 3
> [h264 @ 000001e733472280] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733472280] nal_unit_type: 7(SPS), nal_ref_idc: 3
> [h264 @ 000001e733472280] nal_unit_type: 8(PPS), nal_ref_idc: 3
> [h264 @ 000001e733472280] nal_unit_type: 5(IDR), nal_ref_idc: 3
> [h264 @ 000001e733472280] Format yuv420p chosen by get_format().
> [h264 @ 000001e733472280] Reinit context to 4096x2048, pix_fmt: yuv420p
> [h264 @ 000001e733472280] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733472280] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> [h264 @ 000001e733472280] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733472280] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> [h264 @ 000001e733472280] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733472280] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> [h264 @ 000001e733472280] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733472280] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> [h264 @ 000001e733472280] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733472280] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> [h264 @ 000001e733472280] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733472280] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e733470380] All info found
> [mov,mp4,m4a,3gp,3g2,mj2 @ 000001e733470380] After
> avformat_find_stream_info() pos: 2058024 bytes read:2090625 seeks:0
> frames:11
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from
> 'X:\z_published\360video\330311.mp4':
>   Metadata:
>     major_brand     : mp42
>     minor_version   : 0
>     compatible_brands: mp42mp41
>     creation_time   : 2022-03-20T19:49:56.000000Z
>   Duration: 00:08:05.48, start: 0.000000, bitrate: 42260 kb/s
>     Stream #0:0(eng), 10, 1/30000: Video: h264 (Main), 1 reference frame
> (avc1 / 0x31637661), yuv420p(left), 4096x2048 [SAR 1:1 DAR 2:1], 0/1, 41942
> kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
>     Metadata:
>       creation_time   : 2022-03-20T19:49:56.000000Z
>       handler_name    : ?Mainconcept Video Media Handler
>       encoder         : AVC Coding
>     Side data:
>       stereo3d: 2D
>       spherical: equirectangular (0.000000/0.000000/0.000000)
>     Stream #0:1(eng), 1, 1/48000: Audio: aac (LC) (mp4a / 0x6134706D),
> 48000 Hz, stereo, fltp, 317 kb/s (default)
>     Metadata:
>       creation_time   : 2022-03-20T19:49:56.000000Z
>       handler_name    : #Mainconcept MP4 Sound Media Handler
> Successfully opened the file.
> Parsing a group of options: output url X:\DASH\DASHOUT\dash.mpd.
> Applying option r (set frame rate (Hz value, fraction or abbreviation))
> with argument 30.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option c:a (codec name) with argument aac.
> Applying option b:a (video bitrate (please use -b:v)) with argument 128k.
> Applying option ac (set number of audio channels) with argument 1.
> Applying option ar (set audio sampling rate (in Hz)) with argument 44100.
> Applying option map (set input stream mapping) with argument v:0.
> Applying option vf:0 (set video filters) with argument scale_cuda=1920:960.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option b:v:0 (video bitrate (please use -b:v)) with argument 2M.
> Applying option map (set input stream mapping) with argument v:0.
> Applying option vf:1 (set video filters) with argument scale_cuda=1440:720.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option b:v:1 (video bitrate (please use -b:v)) with argument 145k.
> Applying option map (set input stream mapping) with argument v:0.
> Applying option vf:2 (set video filters) with argument
> scale_cuda=2880:1440.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option b:v:2 (video bitrate (please use -b:v)) with argument 365k.
> Applying option map (set input stream mapping) with argument v:0.
> Applying option vf:3 (set video filters) with argument
> scale_cuda=3320:1660.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option b:v:3 (video bitrate (please use -b:v)) with argument 730k.
> Applying option map (set input stream mapping) with argument v:0.
> Applying option vf:4 (set video filters) with argument
> scale_cuda=3320:1660.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option b:v:4 (video bitrate (please use -b:v)) with argument 1.1M.
> Applying option map (set input stream mapping) with argument v:0.
> Applying option vf:5 (set video filters) with argument
> scale_cuda=3840:1920.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option b:v:5 (video bitrate (please use -b:v)) with argument 3M.
> Applying option map (set input stream mapping) with argument v:0.
> Applying option vf:6 (set video filters) with argument
> scale_cuda=3840:1920.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option b:v:6 (video bitrate (please use -b:v)) with argument 4.5M.
> Applying option map (set input stream mapping) with argument v:0.
> Applying option vf:7 (set video filters) with argument
> scale_cuda=4096:2048.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option b:v:7 (video bitrate (please use -b:v)) with argument 6M.
> Applying option map (set input stream mapping) with argument v:0.
> Applying option vf:8 (set video filters) with argument
> scale_cuda=4096:2048.
> Applying option c:v (codec name) with argument h264_nvenc.
> Applying option pix_fmt (set pixel format) with argument yuv420p.
> Applying option b:v:8 (video bitrate (please use -b:v)) with argument 7.8M.
> Applying option map (set input stream mapping) with argument 0:a.
> Applying option f (force format) with argument dash.
> Successfully parsed a group of options.
> Opening an output file: X:\DASH\DASHOUT\dash.mpd.
> Only '-vf scale_cuda=4096:2048' read, ignoring remaining -vf options: Use
> ',' to separate filters
>     Last message repeated 8 times
> Only '-af (null)' read, ignoring remaining -af options: Use ',' to separate
> filters
> Successfully opened the file.
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded lib: nvcuda.dll
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuInit
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuDeviceGetCount
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuDeviceGet
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuDeviceGetAttribute
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuDeviceGetName
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuDeviceComputeCapability
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuCtxCreate_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuCtxSetLimit
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuCtxPushCurrent_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuCtxPopCurrent_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuCtxDestroy_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuMemAlloc_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuMemAllocPitch_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuMemsetD8Async
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuMemFree_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuMemcpy2D_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuMemcpy2DAsync_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuGetErrorName
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuGetErrorString
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuCtxGetDevice
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuDevicePrimaryCtxRetain
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuDevicePrimaryCtxRelease
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuDevicePrimaryCtxSetFlags
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuDevicePrimaryCtxGetState
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuDevicePrimaryCtxReset
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuStreamCreate
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuStreamQuery
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuStreamSynchronize
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuStreamDestroy_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuStreamAddCallback
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuEventCreate
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuEventDestroy_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuEventSynchronize
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuEventQuery
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuEventRecord
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuLaunchKernel
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuModuleLoadData
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuModuleUnload
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuModuleGetFunction
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuTexObjectCreate
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuTexObjectDestroy
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuGLGetDevices_v2
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuGraphicsGLRegisterImage
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuGraphicsUnregisterResource
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuGraphicsMapResources
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuGraphicsUnmapResources
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuGraphicsSubResourceGetMappedArray
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuDeviceGetUuid
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuImportExternalMemory
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuDestroyExternalMemory
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuExternalMemoryGetMappedBuffer
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuExternalMemoryGetMappedMipmappedArray
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuMipmappedArrayGetLevel
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym: cuMipmappedArrayDestroy
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuImportExternalSemaphore
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuDestroyExternalSemaphore
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuSignalExternalSemaphoresAsync
> [AVHWDeviceContext @ 000001e73353d0c0] Loaded sym:
> cuWaitExternalSemaphoresAsync
> detected 64 logical cores
> [h264 @ 000001e733591180] nal_unit_type: 7(SPS), nal_ref_idc: 3
> [h264 @ 000001e733591180] nal_unit_type: 8(PPS), nal_ref_idc: 3
> Stream mapping:
>   Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_nvenc))
>   Stream #0:0 -> #0:1 (h264 (native) -> h264 (h264_nvenc))
>   Stream #0:0 -> #0:2 (h264 (native) -> h264 (h264_nvenc))
>   Stream #0:0 -> #0:3 (h264 (native) -> h264 (h264_nvenc))
>   Stream #0:0 -> #0:4 (h264 (native) -> h264 (h264_nvenc))
>   Stream #0:0 -> #0:5 (h264 (native) -> h264 (h264_nvenc))
>   Stream #0:0 -> #0:6 (h264 (native) -> h264 (h264_nvenc))
>   Stream #0:0 -> #0:7 (h264 (native) -> h264 (h264_nvenc))
>   Stream #0:0 -> #0:8 (h264 (native) -> h264 (h264_nvenc))
>   Stream #0:1 -> #0:9 (aac (native) -> aac (native))
> Press [q] to stop, [?] for help
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
>     Last message repeated 1 times
> [h264 @ 000001e733591180] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733591180] nal_unit_type: 7(SPS), nal_ref_idc: 3
> [h264 @ 000001e733591180] nal_unit_type: 8(PPS), nal_ref_idc: 3
> [h264 @ 000001e733591180] nal_unit_type: 5(IDR), nal_ref_idc: 3
> [h264 @ 000001e733591180] Format cuda chosen by get_format().
> [h264 @ 000001e733591180] Format cuda requires hwaccel initialisation.
> [h264 @ 000001e733591180] Loaded lib: nvcuvid.dll
> [h264 @ 000001e733591180] Loaded sym: cuvidGetDecoderCaps
> [h264 @ 000001e733591180] Loaded sym: cuvidCreateDecoder
> [h264 @ 000001e733591180] Loaded sym: cuvidDestroyDecoder
> [h264 @ 000001e733591180] Loaded sym: cuvidDecodePicture
> [h264 @ 000001e733591180] Loaded sym: cuvidGetDecodeStatus
> [h264 @ 000001e733591180] Loaded sym: cuvidReconfigureDecoder
> [h264 @ 000001e733591180] Loaded sym: cuvidMapVideoFrame64
> [h264 @ 000001e733591180] Loaded sym: cuvidUnmapVideoFrame64
> [h264 @ 000001e733591180] Loaded sym: cuvidCtxLockCreate
> [h264 @ 000001e733591180] Loaded sym: cuvidCtxLockDestroy
> [h264 @ 000001e733591180] Loaded sym: cuvidCtxLock
> [h264 @ 000001e733591180] Loaded sym: cuvidCtxUnlock
> [h264 @ 000001e733591180] Loaded sym: cuvidCreateVideoSource
> [h264 @ 000001e733591180] Loaded sym: cuvidCreateVideoSourceW
> [h264 @ 000001e733591180] Loaded sym: cuvidDestroyVideoSource
> [h264 @ 000001e733591180] Loaded sym: cuvidSetVideoSourceState
> [h264 @ 000001e733591180] Loaded sym: cuvidGetVideoSourceState
> [h264 @ 000001e733591180] Loaded sym: cuvidGetSourceVideoFormat
> [h264 @ 000001e733591180] Loaded sym: cuvidGetSourceAudioFormat
> [h264 @ 000001e733591180] Loaded sym: cuvidCreateVideoParser
> [h264 @ 000001e733591180] Loaded sym: cuvidParseVideoData
> [h264 @ 000001e733591180] Loaded sym: cuvidDestroyVideoParser
> [h264 @ 000001e733591180] NVDEC capabilities:
> [h264 @ 000001e733591180] format supported: yes, max_mb_count: 65536
> [h264 @ 000001e733591180] min_width: 48, max_width: 4096
> [h264 @ 000001e733591180] min_height: 16, max_height: 4096
> [h264 @ 000001e733591180] Reinit context to 4096x2048, pix_fmt: cuda
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e73358f180] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e73358f180] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e73358a880] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e73358a880] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e73358f600] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e73358f600] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e73358ff40] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e73358ff40] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e733591600] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733591600] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e7335903c0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e7335903c0] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e733590840] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733590840] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e733590cc0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733590cc0] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e733589f40] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e733589f40] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> [graph_9_in_0_1 @ 000001e733736e80] Setting 'time_base' to value '1/48000'
> [graph_9_in_0_1 @ 000001e733736e80] Setting 'sample_rate' to value '48000'
> [graph_9_in_0_1 @ 000001e733736e80] Setting 'sample_fmt' to value 'fltp'
> [graph_9_in_0_1 @ 000001e733736e80] Setting 'channel_layout' to value '0x3'
> [graph_9_in_0_1 @ 000001e733736e80] tb:1/48000 samplefmt:fltp
> samplerate:48000 chlayout:0x3
> [format_out_0_9 @ 000001e705700c00] Setting 'sample_fmts' to value 'fltp'
> [format_out_0_9 @ 000001e705700c00] Setting 'sample_rates' to value '44100'
> [format_out_0_9 @ 000001e705700c00] Setting 'channel_layouts' to value
> '0x4'
> [format_out_0_9 @ 000001e705700c00] auto-inserting filter
> 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter
> 'format_out_0_9'
> [AVFilterGraph @ 000001e733a201c0] query_formats: 4 queried, 6 merged, 3
> already done, 0 delayed
> [auto_resampler_0 @ 000001e705700ec0] [SWR @ 000001e705700fc0] Using fltp
> internally between filters
> [auto_resampler_0 @ 000001e705700ec0] [SWR @ 000001e705700fc0] Matrix
> coefficients:
> [auto_resampler_0 @ 000001e705700ec0] [SWR @ 000001e705700fc0] FC:
> FL:0.707107 FR:0.707107
> [auto_resampler_0 @ 000001e705700ec0] ch:2 chl:stereo fmt:fltp r:48000Hz ->
> ch:1 chl:mono fmt:fltp r:44100Hz
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
>     Last message repeated 16 times
> [h264 @ 000001e73358a400] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e73358a400] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e73358c3c0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e73358c3c0] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e73358cd00] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e73358cd00] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e73358d600] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e73358d600] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if
> it occurs once at the start per stream)
> [h264 @ 000001e735ebb700] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e735ebb700] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> [h264 @ 000001e735eba4c0] nal_unit_type: 9(AUD), nal_ref_idc: 0
> [h264 @ 000001e735eba4c0] nal_unit_type: 1(Coded slice of a non-IDR
> picture), nal_ref_idc: 3
> [Parsed_scale_cuda_0 @ 000001e735e10f00] Setting 'w' to value '4096'
> [Parsed_scale_cuda_0 @ 000001e735e10f00] Setting 'h' to value '2048'
> [graph 0 input from stream 0:0 @ 000001e7063de640] Setting 'video_size' to
> value '4096x2048'
> [graph 0 input from stream 0:0 @ 000001e7063de640] Setting 'pix_fmt' to
> value '119'
> [graph 0 input from stream 0:0 @ 000001e7063de640] Setting 'time_base' to
> value '1/30000'
> [graph 0 input from stream 0:0 @ 000001e7063de640] Setting 'pixel_aspect'
> to value '1/1'
> [graph 0 input from stream 0:0 @ 000001e7063de640] Setting 'sws_param' to
> value 'flags=2'
> [graph 0 input from stream 0:0 @ 000001e7063de640] Setting 'frame_rate' to
> value '30000/1001'
> [graph 0 input from stream 0:0 @ 000001e7063de640] w:4096 h:2048
> pixfmt:cuda tb:1/30000 fr:30000/1001 sar:1/1 sws_param:flags=2
> [format @ 000001e7063dea00] Setting 'pix_fmts' to value 'yuv420p'
> [auto_scaler_0 @ 000001e7063dee40] Setting 'flags' to value 'bicubic'
> [auto_scaler_0 @ 000001e7063dee40] w:iw h:ih flags:'bicubic' interl:0
> [format @ 000001e7063dea00] auto-inserting filter 'auto_scaler_0' between
> the filter 'Parsed_scale_cuda_0' and the filter 'format'
> Impossible to convert between the formats supported by the filter
> 'Parsed_scale_cuda_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 @ 000001e73358c880] Qavg: 35575.273
> [aac @ 000001e73358c880] 2 frames left in the queue on closing
> [AVIOContext @ 000001e73346f0c0] Statistics: 3130301 bytes read, 0 seeks
> Conversion failed!
>
> Process finished with exit code 0
>
>
> --
> Douglas Rhiner
> JD Publishing
> CTO
> C.530-448-2754
> Skype.douglasrhiner
> 924 Incline Way Suite L
> Incline Village, NV
> 89451
> douglasrhiner at gmail.com
>
>
> xplorit.com <https://www.xplorit.com>
>
>
> wendyourway.com <https://www.wendyourway.com>
> _______________________________________________
> ffmpeg-user mailing list
> ffmpeg-user at ffmpeg.org
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> ffmpeg-user-request at ffmpeg.org with subject "unsubscribe".
>


More information about the ffmpeg-user mailing list