[FFmpeg-trac] #7308(undetermined:new): Recording of dvb_teletext does not stop until subtitles are available
FFmpeg
trac at avcodec.org
Mon Jul 9 14:00:47 EEST 2018
#7308: Recording of dvb_teletext does not stop until subtitles are available
-------------------------------------+-------------------------------------
Reporter: | Type: defect
jakubvojacek | Priority: normal
Status: new | Version:
Component: | unspecified
undetermined | Blocked By:
Keywords: | Reproduced by developer: 0
Blocking: |
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug: When using ffmpeg to transcode portion of live stream
that includes dvb_teletext, the ffmpeg does not stop until there are some
data in the dvb_teletext stream. The dvb_teletext stream contains subtitle
only like 50% of time and until some subtitles are available, it will keep
the ffmpeg running. Below is a simple sample ffmpeg command that should
record 10 seconds of stream.
How to reproduce:
{{{
time ffmpeg -y -txt_format text -txt_page 888 -i
"udp://@239.100.200.2:1234?overrun_nonfatal=1&fifo_size=10000000" -map 0
-copyinkf -scodec mov_text -vcodec copy -acodec copy -t 10 -f mp4 test.mp4
}}}
The output of this command is
{{{
ffmpeg version 4.0-hd Copyright (c) 2000-2018 the FFmpeg developers
built with gcc 6.3.0 (Debian 6.3.0-18+deb9u1) 20170516
configuration: --cpu=native --enable-pthreads --extra-version=hd
--enable-vaapi --enable-vdpau --enable-nonfree --enable-gpl --enable-
swscale --enable-libx264 --enable-version3 --enable-nvenc --enable-libnpp
--enable-cuda --enable-cuvid --enable-cuda-sdk --enable-filter=scale_cuda
--enable-filter=thumbnail_cuda --extra-
cflags=-I/usr/local/cuda-9.1/include --extra-
ldflags=-L/usr/local/cuda-9.1/lib64 --enable-libx264 --enable-libx265
--enable-libxvid --enable-libass --enable-libwavpack --enable-libsoxr
--enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-
libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-
librtmp --enable-libnpp --enable-opengl --enable-version3 --enable-
avresample --enable-avisynth --enable-openal --enable-opencl --enable-
libzvbi --enable-iconv
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
Input #0, mpegts, from
'udp://@239.100.200.2:1234?overrun_nonfatal=1&fifo_size=10000000':
Duration: N/A, start: 73177.274233, bitrate: N/A
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Video: h264 (Main) ([27][0][0][0] / 0x001B),
yuv420p(progressive), 720x480 [SAR 40:33 DAR 20:11], 25 fps, 25 tbr, 90k
tbn, 50 tbc
Stream #0:1[0x101]: Video: h264 (Main) ([27][0][0][0] / 0x001B),
yuv420p(progressive), 720x480 [SAR 40:33 DAR 20:11], 25 fps, 25 tbr, 90k
tbn, 50 tbc
Stream #0:2[0x102](cze): Audio: aac (LC) ([15][0][0][0] / 0x000F),
48000 Hz, stereo, fltp, 144 kb/s
Stream #0:3[0x103](cze): Subtitle: dvb_teletext ([6][0][0][0] /
0x0006), 492x250
Output #0, mp4, to 'test.mp4':
Metadata:
encoder : Lavf58.12.100
Stream #0:0: Video: h264 (Main) (avc1 / 0x31637661),
yuv420p(progressive), 720x480 [SAR 40:33 DAR 20:11], q=2-31, 25 fps, 25
tbr, 90k tbn, 90k tbc
Stream #0:1: Video: h264 (Main) (avc1 / 0x31637661),
yuv420p(progressive), 720x480 [SAR 40:33 DAR 20:11], q=2-31, 25 fps, 25
tbr, 90k tbn, 90k tbc
Stream #0:2(cze): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz,
stereo, fltp, 144 kb/s
Stream #0:3(cze): Subtitle: mov_text (tx3g / 0x67337874), 492x250
Metadata:
encoder : Lavc58.18.100 mov_text
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)
Stream #0:2 -> #0:2 (copy)
Stream #0:3 -> #0:3 (dvb_teletext (libzvbi_teletextdec) -> mov_text
(native))
Press [q] to stop, [?] for help
frame= 250 fps=0.2 q=-1.0 Lq=-1.0 size= 1820kB time=00:00:09.98
bitrate=1493.7kbits/s speed=0.00774x
video:1655kB audio:159kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.366925%
Exiting normally, received signal 2.
real 21m34.743s
user 0m4.100s
sys 0m3.020s
}}}
While I was trying to record just 10 seconds, it kept on recording and
would have kept waiting until some subtitles would be available. I have
waited 21 minutes until I canceled it manually. When there are subtitles
available at the time of transcoding, it does end on time (specified by
the -t parameter)
I have tried to record the multicast using multicat into a file and
process this file and it worked (didnt wait). Therefore it seems like it
is only reproducible on live input.
Do you need any more information please?
--
Ticket URL: <https://trac.ffmpeg.org/ticket/7308>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list