[FFmpeg-trac] #7303(undetermined:new): h264_nvenc / b_ref_mode middle creates invalid video due to Invalid DTS.
FFmpeg
trac at avcodec.org
Thu Jul 5 16:50:20 EEST 2018
#7303: h264_nvenc / b_ref_mode middle creates invalid video due to Invalid DTS.
-------------------------------------+-------------------------------------
Reporter: | Owner:
smallishzulu | Status: new
Type: defect | Component:
Priority: normal | undetermined
Version: git-master | Resolution:
Keywords: nvenc | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Changes (by cehoyos):
* keywords: => nvenc
* version: unspecified => git-master
Old description:
> Hello,
>
> If b_ref_mode set to middle and b frame number is set to any number,
> FFmpeg gives out Invalid DTS error for mpegts.
>
> (If bf is 0, than there is no problem. However, it is useless.)
>
>
> /opt/ffmpeg/bin/ffmpeg -loglevel verbose -re -i /home/admintv/big-buck-
> bunny_294_1280x720.mp4 -aspect 16:9 -s 720x576 -map 0:0 -c:v:0
> h264_nvenc -temporal-aq 1 -spatial-aq 1 -aq-strength 15 -2pass 1 -preset
> slow -cbr 1 -rc cbr -profile:v main -vb 1550k -minrate 1550k -maxrate
> 1550k -bufsize 1550k -muxrate 1790k -flags +ilme+ildct -top 1 -r 25
> -pix_fmt yuv420p -map 0:1 -c:a:0 aac -b:a:0 128k -g 50 -f mpegts -bf 4
> -b_ref_mode middle 'udp://192.168.2.100:5000?pkt_size=188'
> ffmpeg version N-91062-gf995aa8 Copyright (c) 2000-2018 the FFmpeg
> developers
> built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
> configuration: --prefix=/opt/ffmpeg --enable-nonfree --enable-gpl
> --extra-cflags='-I/opt/ffmpeg/include -I/usr/local/include
> -I/usr/local/cuda/include -I/opt/ndi/sdk/include' --extra-
> ldflags='-L/opt/ffmpeg/lib -L/usr/local/cuda/lib64 -L/opt/ndi/sdk/lib'
> --bindir=/opt/ffmpeg/bin --extra-libs=-ldl --enable-libx264 --enable-
> libx265 --enable-nonfree --enable-gpl --enable-nvenc --enable-libzvbi
> --enable-libfdk-aac --enable-libzimg --enable-libzmq --enable-libfreetype
> --enable-static --enable-shared --enable-hardcoded-tables --enable-vdpau
> --enable-cuda --enable-cuvid --enable-libvpx --enable-libmp3lame
> --enable-libndi_newtek --enable-openssl --enable-ffnvcodec --enable-
> libfontconfig --enable-libfribidi --enable-cuda-sdk --enable-libnpp
> libavutil 56. 18.102 / 56. 18.102
> libavcodec 58. 19.101 / 58. 19.101
> libavformat 58. 13.102 / 58. 13.102
> libavdevice 58. 4.100 / 58. 4.100
> libavfilter 7. 22.100 / 7. 22.100
> libswscale 5. 2.100 / 5. 2.100
> libswresample 3. 2.100 / 3. 2.100
> libpostproc 55. 2.100 / 55. 2.100
> [h264 @ 0x10b9740] Reinit context to 1280x720, pix_fmt: yuv420p
> Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/admintv/big-buck-
> bunny_294_1280x720.mp4':
> Metadata:
> major_brand : isom
> minor_version : 512
> compatible_brands: mp41
> creation_time : 1970-01-01T00:00:00.000000Z
> title : Big Buck Bunny
> encoder : Lavf52.13.0
> Duration: 00:09:56.46, start: 0.000000, bitrate: 2353 kb/s
> Stream #0:0(und): Video: h264 (Constrained Baseline), 1 reference
> frame (avc1 / 0x31637661), yuv420p(left), 1280x720 [SAR 1:1 DAR 16:9],
> 2220 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc (default)
> Metadata:
> creation_time : 1970-01-01T00:00:00.000000Z
> handler_name : VideoHandler
> Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
> stereo, fltp, 127 kb/s (default)
> Metadata:
> creation_time : 1970-01-01T00:00:00.000000Z
> handler_name : SoundHandler
> Stream mapping:
> Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_nvenc))
> Stream #0:1 -> #0:1 (aac (native) -> aac (native))
> Press [q] to stop, [?] for help
> [h264 @ 0x1127740] Reinit context to 1280x720, pix_fmt: yuv420p
> [graph_1_in_0_1 @ 0x141d8c0] tb:1/48000 samplefmt:fltp samplerate:48000
> chlayout:0x3
> [graph 0 input from stream 0:0 @ 0x1a3cb80] w:1280 h:720 pixfmt:yuv420p
> tb:1/24 fr:24/1 sar:1/1 sws_param:flags=2
> [scaler_out_0_0 @ 0x1a3de80] w:720 h:576 flags:'bicubic' interl:0
> [scaler_out_0_0 @ 0x1a3de80] w:1280 h:720 fmt:yuv420p sar:1/1 -> w:720
> h:576 fmt:yuv420p sar:64/45 flags:0x4
> [h264_nvenc @ 0x10e0800] Loaded Nvenc version 8.1
> [h264_nvenc @ 0x10e0800] Nvenc initialized successfully
> [h264_nvenc @ 0x10e0800] 1 CUDA capable devices found
> [h264_nvenc @ 0x10e0800] [ GPU #0 - < GeForce GTX 1080 > has Compute SM
> 6.1 ]
> [h264_nvenc @ 0x10e0800] supports NVENC
> [h264_nvenc @ 0x10e0800] AQ enabled.
> [h264_nvenc @ 0x10e0800] Temporal AQ enabled.
> [mpegts @ 0x10bc9c0] muxrate 1790000, pcr every 23 pkts, sdt every 595,
> pat/pmt every 119 pkts
> Output #0, mpegts, to 'udp://192.168.2.100:5000?pkt_size=188':
> Metadata:
> major_brand : isom
> minor_version : 512
> compatible_brands: mp41
> title : Big Buck Bunny
> encoder : Lavf58.13.102
> Stream #0:0(und): Video: h264 (h264_nvenc) (Main), 1 reference frame,
> yuv420p(top first, left), 720x576 [SAR 64:45 DAR 16:9], q=-1--1, 1550
> kb/s, 25 fps, 90k tbn, 25 tbc (default)
> Metadata:
> creation_time : 1970-01-01T00:00:00.000000Z
> handler_name : VideoHandler
> encoder : Lavc58.19.101 h264_nvenc
> Side data:
> cpb: bitrate max/min/avg: 1550000/0/1550000 buffer size: 1550000
> vbv_delay: -1
> Stream #0:1(und): Audio: aac (LC), 48000 Hz, stereo, fltp, delay
> 1024, 128 kb/s (default)
> Metadata:
> creation_time : 1970-01-01T00:00:00.000000Z
> handler_name : SoundHandler
> encoder : Lavc58.19.101 aac
> [mpegts @ 0x10bc9c0] Invalid DTS: 7200 PTS: 3600 in output stream 0:0,
> replacing by guess457x
> [mpegts @ 0x10bc9c0] Invalid DTS: 10800 PTS: 7200 in output stream 0:0,
> replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 25200 PTS: 21600 in output stream 0:0,
> replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 28800 PTS: 25200 in output stream 0:0,
> replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 46800 PTS: 39600 in output stream 0:0,
> replacing by guess64x
> [mpegts @ 0x10bc9c0] Invalid DTS: 50400 PTS: 46800 in output stream 0:0,
> replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 64800 PTS: 61200 in output stream 0:0,
> replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 68400 PTS: 64800 in output stream 0:0,
> replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 82800 PTS: 79200 in output stream 0:0,
> replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 86400 PTS: 82800 in output stream 0:0,
> replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 100800 PTS: 97200 in output stream 0:0,
> replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 104400 PTS: 100800 in output stream
> 0:0, replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 118800 PTS: 115200 in output stream
> 0:0, replacing by guess
> [mpegts @ 0x10bc9c0] Invalid DTS: 122400 PTS: 118800 in output stream
> 0:0, replacing by guess
> frame= 36 fps= 17 q=27.0 Lsize= 444kB time=00:00:02.09
> bitrate=1739.5kbits/s speed=0.979x
> video:342kB audio:33kB subtitle:0kB other streams:0kB global headers:0kB
> muxing overhead: 18.366146%
> Input file #0 (/home/admintv/big-buck-bunny_294_1280x720.mp4):
> Input stream #0:0 (video): 51 packets read (539726 bytes); 37 frames
> decoded;
> Input stream #0:1 (audio): 98 packets read (33347 bytes); 97 frames
> decoded (99328 samples);
> Total: 149 packets (573073 bytes) demuxed
> Output file #0 (udp://192.168.2.100:5000?pkt_size=188):
> Output stream #0:0 (video): 36 frames encoded; 36 packets muxed (349930
> bytes);
> Output stream #0:1 (audio): 97 frames encoded (99328 samples); 98
> packets muxed (34119 bytes);
> Total: 134 packets (384049 bytes) muxed
> [h264_nvenc @ 0x10e0800] Nvenc unloaded
> [aac @ 0x10e3200] Qavg: 164.648
> Exiting normally, received signal 2.
New description:
Hello,
If b_ref_mode set to middle and b frame number is set to any number,
FFmpeg gives out Invalid DTS error for mpegts.
(If bf is 0, than there is no problem. However, it is useless.)
{{{
/opt/ffmpeg/bin/ffmpeg -loglevel verbose -re -i /home/admintv/big-buck-
bunny_294_1280x720.mp4 -aspect 16:9 -s 720x576 -map 0:0 -c:v:0
h264_nvenc -temporal-aq 1 -spatial-aq 1 -aq-strength 15 -2pass 1 -preset
slow -cbr 1 -rc cbr -profile:v main -vb 1550k -minrate 1550k -maxrate
1550k -bufsize 1550k -muxrate 1790k -flags +ilme+ildct -top 1 -r 25
-pix_fmt yuv420p -map 0:1 -c:a:0 aac -b:a:0 128k -g 50 -f mpegts -bf 4
-b_ref_mode middle 'udp://192.168.2.100:5000?pkt_size=188'
ffmpeg version N-91062-gf995aa8 Copyright (c) 2000-2018 the FFmpeg
developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.3)
configuration: --prefix=/opt/ffmpeg --enable-nonfree --enable-gpl
--extra-cflags='-I/opt/ffmpeg/include -I/usr/local/include
-I/usr/local/cuda/include -I/opt/ndi/sdk/include' --extra-
ldflags='-L/opt/ffmpeg/lib -L/usr/local/cuda/lib64 -L/opt/ndi/sdk/lib'
--bindir=/opt/ffmpeg/bin --extra-libs=-ldl --enable-libx264 --enable-
libx265 --enable-nonfree --enable-gpl --enable-nvenc --enable-libzvbi
--enable-libfdk-aac --enable-libzimg --enable-libzmq --enable-libfreetype
--enable-static --enable-shared --enable-hardcoded-tables --enable-vdpau
--enable-cuda --enable-cuvid --enable-libvpx --enable-libmp3lame --enable-
libndi_newtek --enable-openssl --enable-ffnvcodec --enable-libfontconfig
--enable-libfribidi --enable-cuda-sdk --enable-libnpp
libavutil 56. 18.102 / 56. 18.102
libavcodec 58. 19.101 / 58. 19.101
libavformat 58. 13.102 / 58. 13.102
libavdevice 58. 4.100 / 58. 4.100
libavfilter 7. 22.100 / 7. 22.100
libswscale 5. 2.100 / 5. 2.100
libswresample 3. 2.100 / 3. 2.100
libpostproc 55. 2.100 / 55. 2.100
[h264 @ 0x10b9740] Reinit context to 1280x720, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/admintv/big-buck-
bunny_294_1280x720.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: mp41
creation_time : 1970-01-01T00:00:00.000000Z
title : Big Buck Bunny
encoder : Lavf52.13.0
Duration: 00:09:56.46, start: 0.000000, bitrate: 2353 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline), 1 reference
frame (avc1 / 0x31637661), yuv420p(left), 1280x720 [SAR 1:1 DAR 16:9],
2220 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc (default)
Metadata:
creation_time : 1970-01-01T00:00:00.000000Z
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 127 kb/s (default)
Metadata:
creation_time : 1970-01-01T00:00:00.000000Z
handler_name : SoundHandler
Stream mapping:
Stream #0:0 -> #0:0 (h264 (native) -> h264 (h264_nvenc))
Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[h264 @ 0x1127740] Reinit context to 1280x720, pix_fmt: yuv420p
[graph_1_in_0_1 @ 0x141d8c0] tb:1/48000 samplefmt:fltp samplerate:48000
chlayout:0x3
[graph 0 input from stream 0:0 @ 0x1a3cb80] w:1280 h:720 pixfmt:yuv420p
tb:1/24 fr:24/1 sar:1/1 sws_param:flags=2
[scaler_out_0_0 @ 0x1a3de80] w:720 h:576 flags:'bicubic' interl:0
[scaler_out_0_0 @ 0x1a3de80] w:1280 h:720 fmt:yuv420p sar:1/1 -> w:720
h:576 fmt:yuv420p sar:64/45 flags:0x4
[h264_nvenc @ 0x10e0800] Loaded Nvenc version 8.1
[h264_nvenc @ 0x10e0800] Nvenc initialized successfully
[h264_nvenc @ 0x10e0800] 1 CUDA capable devices found
[h264_nvenc @ 0x10e0800] [ GPU #0 - < GeForce GTX 1080 > has Compute SM
6.1 ]
[h264_nvenc @ 0x10e0800] supports NVENC
[h264_nvenc @ 0x10e0800] AQ enabled.
[h264_nvenc @ 0x10e0800] Temporal AQ enabled.
[mpegts @ 0x10bc9c0] muxrate 1790000, pcr every 23 pkts, sdt every 595,
pat/pmt every 119 pkts
Output #0, mpegts, to 'udp://192.168.2.100:5000?pkt_size=188':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: mp41
title : Big Buck Bunny
encoder : Lavf58.13.102
Stream #0:0(und): Video: h264 (h264_nvenc) (Main), 1 reference frame,
yuv420p(top first, left), 720x576 [SAR 64:45 DAR 16:9], q=-1--1, 1550
kb/s, 25 fps, 90k tbn, 25 tbc (default)
Metadata:
creation_time : 1970-01-01T00:00:00.000000Z
handler_name : VideoHandler
encoder : Lavc58.19.101 h264_nvenc
Side data:
cpb: bitrate max/min/avg: 1550000/0/1550000 buffer size: 1550000
vbv_delay: -1
Stream #0:1(und): Audio: aac (LC), 48000 Hz, stereo, fltp, delay 1024,
128 kb/s (default)
Metadata:
creation_time : 1970-01-01T00:00:00.000000Z
handler_name : SoundHandler
encoder : Lavc58.19.101 aac
[mpegts @ 0x10bc9c0] Invalid DTS: 7200 PTS: 3600 in output stream 0:0,
replacing by guess457x
[mpegts @ 0x10bc9c0] Invalid DTS: 10800 PTS: 7200 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 25200 PTS: 21600 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 28800 PTS: 25200 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 46800 PTS: 39600 in output stream 0:0,
replacing by guess64x
[mpegts @ 0x10bc9c0] Invalid DTS: 50400 PTS: 46800 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 64800 PTS: 61200 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 68400 PTS: 64800 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 82800 PTS: 79200 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 86400 PTS: 82800 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 100800 PTS: 97200 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 104400 PTS: 100800 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 118800 PTS: 115200 in output stream 0:0,
replacing by guess
[mpegts @ 0x10bc9c0] Invalid DTS: 122400 PTS: 118800 in output stream 0:0,
replacing by guess
frame= 36 fps= 17 q=27.0 Lsize= 444kB time=00:00:02.09
bitrate=1739.5kbits/s speed=0.979x
video:342kB audio:33kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 18.366146%
Input file #0 (/home/admintv/big-buck-bunny_294_1280x720.mp4):
Input stream #0:0 (video): 51 packets read (539726 bytes); 37 frames
decoded;
Input stream #0:1 (audio): 98 packets read (33347 bytes); 97 frames
decoded (99328 samples);
Total: 149 packets (573073 bytes) demuxed
Output file #0 (udp://192.168.2.100:5000?pkt_size=188):
Output stream #0:0 (video): 36 frames encoded; 36 packets muxed (349930
bytes);
Output stream #0:1 (audio): 97 frames encoded (99328 samples); 98
packets muxed (34119 bytes);
Total: 134 packets (384049 bytes) muxed
[h264_nvenc @ 0x10e0800] Nvenc unloaded
[aac @ 0x10e3200] Qavg: 164.648
Exiting normally, received signal 2.
}}}
--
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7303#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list