Opened 10 years ago

Last modified 10 years ago

#3744 new defect

green benetian blinds on the video

Reported by: herman602 Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords:
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
I use the dvblast to generate UDP streams for the input of ffmpeg. When the ffmpeg starts to transcode, it is very stable and normal. But, I don't know what exactly time the video become cross green lines on the video. It can't no longer return to normal.
http://imgur.com/vijc7oJ.jpg

How to reproduce:
I don't know how can reproduce this. When I restart the ffmpeg process, it returns to normal.

But, I upload the input file(generated by dvblast, recorded by vlc) and the output file(HLS format, generated by ffmpeg via the below command) to the ftp. In addition, a complete console output also on the ftp(about 283MB).

And, the input file and the output file is not the same program segment, but they are also in the period in problem in the case.

I have uploaded files to the ftp server.

input: 1403781705_input_small.ts
output: 0800200c9a66.m3u8, 0800200c9a66[24-47].ts
complete console output: 1403781705_complete_Output_Log.log

The command:

/home/andy/ffmpeg -re -f mpegts -i udp://127.0.0.1:50000 -c:v libx264 -preset slow -deinterlace -crf 23 -pix_fmt yuv420p -g 150 -acodec libfdk_aac -b:a 128k -ac 2 -ar 44100 -loglevel debug -threads 0 -hls_time 5 -hls_wrap 100 -hls_list_size 24 -f hls /mnt/video/7/0800200c9a66.m3u8

The console output(segment, due to complete console output about 259MB):

ffmpeg version 2.2.git Copyright (c) 2000-2014 the FFmpeg developers
  built on Jun 19 2014 13:29:19 with gcc 4.8 (Ubuntu 4.8.2-19ubuntu1)
  configuration: --prefix=/root/ffmpeg_build --enable-static --extra-cflags='-I/root/ffmpeg_build/include -static' --extra-ldflags='-L/root/ffmpeg_build/lib -static' --bindir=/root/bin --extra-libs=-ldl --enable-gpl --enable-libfdk-aac --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --disable-shared --enable-bzlib --enable-zlib --enable-postproc --enable-runtime-cpudetect --enable-gray --enable-libopenjpeg --enable-libspeex --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-version3 --enable-libfdk_aac
  libavutil      52. 89.100 / 52. 89.100
  libavcodec     55. 67.100 / 55. 67.100
  libavformat    55. 43.100 / 55. 43.100
  libavdevice    55. 13.101 / 55. 13.101
  libavfilter     4.  8.100 /  4.  8.100
  libswscale      2.  6.100 /  2.  6.100
  libswresample   0. 19.100 /  0. 19.100
  libpostproc    52.  3.100 / 52.  3.100
Splitting the commandline.
Reading option '-re' ... matched as option 're' (read input at native frame rate) with argument '1'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'mpegts'.
Reading option '-i' ... matched as input file with argument 'udp://127.0.0.1:50000'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libx264'.
Reading option '-preset' ... matched as AVOption 'preset' with argument 'slow'.
Reading option '-deinterlace' ... matched as option 'deinterlace' (this option is deprecated, use the yadif filter instead) with argument '1'.
Reading option '-crf' ... matched as AVOption 'crf' with argument '23'.
Reading option '-pix_fmt' ... matched as option 'pix_fmt' (set pixel format) with argument 'yuv420p'.
Reading option '-g' ... matched as AVOption 'g' with argument '150'.
Reading option '-g' ... matched as AVOption 'g' with argument '150'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'libfdk_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 '2'.
Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '44100'.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-threads' ... matched as AVOption 'threads' with argument '0'.
Reading option '-hls_time' ... matched as AVOption 'hls_time' with argument '5'.
Reading option '-hls_wrap' ... matched as AVOption 'hls_wrap' with argument '100'.
Reading option '-hls_list_size' ... matched as AVOption 'hls_list_size' with argument '24'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'hls'.
Reading option '/mnt/video/7/0800200c9a66.m3u8' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option deinterlace (this option is deprecated, use the yadif filter instead) with argument 1.
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file udp://127.0.0.1:50000.
Applying option re (read input at native frame rate) with argument 1.
Applying option f (force format) with argument mpegts.
Successfully parsed a group of options.
Opening an input file: udp://127.0.0.1:50000.
[udp @ 0x2b85100] end receive buffer size reported is 131072
[mpegts @ 0x2b85920] stream=0 stream_type=2 pid=7ef prog_reg_desc=
[mpegts @ 0x2b85920] stream=1 stream_type=4 pid=7f0 prog_reg_desc=
[mpegts @ 0x2b85920] stream=2 stream_type=4 pid=7f1 prog_reg_desc=
[mpegts @ 0x2b85920] Before avformat_find_stream_info() pos: 0 bytes read:65800 seeks:0
[mpegts @ 0x2b85920] All programs have pmt, headers found
[mpeg2video @ 0x2b99880] Invalid frame dimensions 0x0.
    Last message repeated 1 times
[mpegts @ 0x2b85920] All info found
[mpegts @ 0x2b85920] After avformat_find_stream_info() pos: 350432 bytes read:351372 seeks:0 frames:75
Input #0, mpegts, from 'udp://127.0.0.1:50000':
  Duration: N/A, start: 45961.778000, bitrate: 215 kb/s
  Program 203
    Stream #0:0[0x7ef], 21, 1/90000: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv), 704x480 [SAR 10:11 DAR 4:3], 1001/60000, max. 15000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0:1[0x7f0], 24, 1/90000: Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 122 kb/s
    Stream #0:2[0x7f1], 30, 1/90000: Audio: mp2 ([4][0][0][0] / 0x0004), 48000 Hz, stereo, s16p, 92 kb/s
Successfully opened the file.
Parsing a group of options: output file /mnt/video/7/0800200c9a66.m3u8.
Applying option c:v (codec name) with argument libx264.
Applying option pix_fmt (set pixel format) with argument yuv420p.
Applying option acodec (force audio codec ('copy' to copy stream)) with argument libfdk_aac.
Applying option b:a (video bitrate (please use -b:v)) with argument 128k.
Applying option ac (set number of audio channels) with argument 2.
Applying option ar (set audio sampling rate (in Hz)) with argument 44100.
Applying option f (force format) with argument hls.
Successfully parsed a group of options.
Opening an output file: /mnt/video/7/0800200c9a66.m3u8.
Successfully opened the file.
detected 8 logical cores
[graph 0 input from stream 0:0 @ 0x2ba0ba0] Setting 'video_size' to value '704x480'
[graph 0 input from stream 0:0 @ 0x2ba0ba0] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 0x2ba0ba0] Setting 'time_base' to value '1/90000'
[graph 0 input from stream 0:0 @ 0x2ba0ba0] Setting 'pixel_aspect' to value '10/11'
[graph 0 input from stream 0:0 @ 0x2ba0ba0] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:0 @ 0x2ba0ba0] Setting 'frame_rate' to value '30000/1001'
[graph 0 input from stream 0:0 @ 0x2ba0ba0] w:704 h:480 pixfmt:yuv420p tb:1/90000 fr:30000/1001 sar:10/11 sws_param:flags=2
[format @ 0x2b74800] compat: called with args=[yuv420p]
[format @ 0x2b74800] Setting 'pix_fmts' to value 'yuv420p'
[AVFilterGraph @ 0x2b74980] query_formats: 5 queried, 4 merged, 0 already done, 0 delayed
[graph 1 input from stream 0:1 @ 0x2becaa0] Setting 'time_base' to value '1/48000'
[graph 1 input from stream 0:1 @ 0x2becaa0] Setting 'sample_rate' to value '48000'
[graph 1 input from stream 0:1 @ 0x2becaa0] Setting 'sample_fmt' to value 's16p'
[graph 1 input from stream 0:1 @ 0x2becaa0] Setting 'channel_layout' to value '0x3'
[graph 1 input from stream 0:1 @ 0x2becaa0] tb:1/48000 samplefmt:s16p samplerate:48000 chlayout:0x3
[audio format for output stream 0:1 @ 0x2ba46c0] Setting 'sample_fmts' to value 's16'
[audio format for output stream 0:1 @ 0x2ba46c0] Setting 'sample_rates' to value '44100'
[audio format for output stream 0:1 @ 0x2ba46c0] Setting 'channel_layouts' to value '0x3'
[audio format for output stream 0:1 @ 0x2ba46c0] auto-inserting filter 'auto-inserted resampler 0' between the filter 'Parsed_anull_0' and the filter 'audio format for output stream 0:1'
[AVFilterGraph @ 0x2bee800] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed
[auto-inserted resampler 0 @ 0x2b6f320] ch:2 chl:stereo fmt:s16p r:48000Hz -> ch:2 chl:stereo fmt:s16 r:44100Hz
[libx264 @ 0x2ba3a80] using mv_range_thread = 24
[libx264 @ 0x2ba3a80] using SAR=10/11
[libx264 @ 0x2ba3a80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
[libx264 @ 0x2ba3a80] profile High, level 3.0
[mpegts @ 0x328ba80] muxrate VBR, pcr every 2 pkts, sdt every 200, pat/pmt every 40 pkts
Output #0, hls, to '/mnt/video/7/0800200c9a66.m3u8':
  Metadata:
    encoder         : Lavf55.43.100
    Stream #0:0, 0, 1/90000: Video: h264 (libx264), yuv420p, 704x480 [SAR 10:11 DAR 4:3], 1001/30000, q=-1--1, 29.97 fps, 90k tbn, 29.97 tbc
    Metadata:
      encoder         : Lavc55.67.100 libx264
    Stream #0:1, 0, 1/90000: Audio: aac (libfdk_aac), 44100 Hz, stereo, s16, 128 kb/s
    Metadata:
      encoder         : Lavc55.67.100 libfdk_aac
Stream mapping:
  Stream #0:0 -> #0:0 (mpeg2video (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (mp2 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[mpegts @ 0x2b85920] Correcting start time by 34678
*** 6 dup!
frame=   17 fps=0.0 q=0.0 size=N/A time=00:00:00.51 bitrate=N/A dup=6 drop=0    ^Mframe=   32 fps= 32 q=0.0 size=N/A time=00:00:00.95 bitrate=N/A dup=6 drop=0    ^Mframe=   48 fps= 32 q=0.0 size=N/A time=00:00:01.53 bitrate=N/A dup=6 drop=0    ^Mframe=   63 fps= 31 q=0.0 size=N/A time=00:00:01.81 bitrate=N/A dup=6 drop=0    ^M[libx264 @ 0x2ba3a80] frame=   0 QP=22.64 NAL=3 Slice:I Poc:0   I:1320 P:0    SKIP:0    size=50354 bytes
[libx264 @ 0x2ba3a80] frame=   1 QP=21.34 NAL=2 Slice:P Poc:8   I:3    P:108  SKIP:1209 size=290 bytes
[libx264 @ 0x2ba3a80] frame=   2 QP=25.41 NAL=2 Slice:B Poc:4   I:0    P:39   SKIP:1281 size=66 bytes
[libx264 @ 0x2ba3a80] frame=   3 QP=34.00 NAL=0 Slice:B Poc:2   I:0    P:37   SKIP:1283 size=60 bytes
[libx264 @ 0x2ba3a80] frame=   4 QP=34.00 NAL=0 Slice:B Poc:6   I:0    P:14   SKIP:1306 size=35 bytes
[libx264 @ 0x2ba3a80] frame=   5 QP=19.05 NAL=2 Slice:P Poc:12  I:2    P:35   SKIP:1283 size=116 bytes
[libx264 @ 0x2ba3a80] frame=   6 QP=34.00 NAL=0 Slice:B Poc:10  I:1    P:13   SKIP:1306 size=40 bytes
[libx264 @ 0x2ba3a80] frame=   7 QP=24.58 NAL=2 Slice:P Poc:20  I:71   P:955  SKIP:294  size=21280 bytes
[libx264 @ 0x2ba3a80] frame=   8 QP=29.92 NAL=2 Slice:B Poc:16  I:9    P:764  SKIP:485  size=6281 bytes
[libx264 @ 0x2ba3a80] frame=   9 QP=32.31 NAL=0 Slice:B Poc:14  I:5    P:809  SKIP:471  size=4916 bytes
[libx264 @ 0x2ba3a80] frame=  10 QP=31.20 NAL=0 Slice:B Poc:18  I:0    P:536  SKIP:744  size=3175 bytes
[libx264 @ 0x2ba3a80] frame=  11 QP=25.12 NAL=2 Slice:P Poc:28  I:18   P:957  SKIP:345  size=14448 bytes
frame=   78 fps= 31 q=29.0 size=N/A time=00:00:02.25 bitrate=N/A dup=6 drop=0    ^M[libx264 @ 0x2ba3a80] frame=  12 QP=28.63 NAL=2 Slice:B Poc:24  I:2    P:682  SKIP:586  size=4726 bytes
[libx264 @ 0x2ba3a80] frame=  13 QP=30.22 NAL=0 Slice:B Poc:22  I:1    P:723  SKIP:573  size=2142 bytes
[libx264 @ 0x2ba3a80] frame=  14 QP=32.25 NAL=0 Slice:B Poc:26  I:0    P:442  SKIP:863  size=1438 bytes
[libx264 @ 0x2ba3a80] frame=  15 QP=26.41 NAL=2 Slice:P Poc:36  I:7    P:809  SKIP:504  size=9990 bytes
[libx264 @ 0x2ba3a80] frame=  16 QP=29.60 NAL=2 Slice:B Poc:32  I:1    P:608  SKIP:672  size=3361 bytes
[libx264 @ 0x2ba3a80] frame=  17 QP=32.65 NAL=0 Slice:B Poc:30  I:1    P:457  SKIP:848  size=1330 bytes
[libx264 @ 0x2ba3a80] frame=  18 QP=32.99 NAL=0 Slice:B Poc:34  I:0    P:432  SKIP:877  size=1218 bytes
[libx264 @ 0x2ba3a80] frame=  19 QP=25.53 NAL=2 Slice:P Poc:40  I:96   P:952  SKIP:272  size=12548 bytes
[libx264 @ 0x2ba3a80] frame=  20 QP=30.98 NAL=0 Slice:B Poc:38  I:1    P:643  SKIP:643  size=2703 bytes
[libx264 @ 0x2ba3a80] frame=  21 QP=26.19 NAL=2 Slice:P Poc:48  I:288  P:838  SKIP:194  size=20491 bytes
[libx264 @ 0x2ba3a80] frame=  22 QP=30.68 NAL=2 Slice:B Poc:44  I:17   P:714  SKIP:507  size=7318 bytes

ignore due to the amount of frames is too large....

[libx264 @ 0x2ba3a80] frame=869747 QP=33.62 NAL=0 Slice:B Poc:132 I:1    P:704  SKIP:611  size=4585 bytes
[libx264 @ 0x2ba3a80] frame=869748 QP=26.57 NAL=2 Slice:P Poc:140 I:92   P:964  SKIP:264  size=18256 bytes
[libx264 @ 0x2ba3a80] frame=869749 QP=33.79 NAL=2 Slice:B Poc:138 I:0    P:641  SKIP:673  size=3488 bytes
[libx264 @ 0x2ba3a80] frame=869750 QP=34.04 NAL=0 Slice:B Poc:136 I:4    P:652  SKIP:654  size=3260 bytes
[libx264 @ 0x2ba3a80] frame=869751 QP=26.85 NAL=2 Slice:P Poc:148 I:24   P:1025 SKIP:271  size=14111 bytes
frame=869818 fps= 30 q=29.0 size=N/A time=08:03:42.51 bitrate=N/A dup=366 drop=0    ^M[libx264 @ 0x2ba3a80] frame=869752 QP=32.24 NAL=2 Slice:B Poc:144 I:2    P:687  SKIP:624  size=3982 bytes
[libx264 @ 0x2ba3a80] frame=869753 QP=33.87 NAL=0 Slice:B Poc:142 I:1    P:568  SKIP:746  size=2371 bytes
[libx264 @ 0x2ba3a80] frame=869754 QP=33.56 NAL=0 Slice:B Poc:146 I:0    P:496  SKIP:823  size=2127 bytes
[libx264 @ 0x2ba3a80] frame=869755 QP=26.95 NAL=2 Slice:P Poc:156 I:19   P:1060 SKIP:241  size=15556 bytes
[libx264 @ 0x2ba3a80] frame=869756 QP=32.15 NAL=2 Slice:B Poc:152 I:0    P:654  SKIP:656  size=3453 bytes
[libx264 @ 0x2ba3a80] frame=869757 QP=33.85 NAL=0 Slice:B Poc:150 I:0    P:512  SKIP:805  size=2133 bytes
[libx264 @ 0x2ba3a80] frame=869758 QP=33.63 NAL=0 Slice:B Poc:154 I:0    P:479  SKIP:833  size=1958 bytes
[libx264 @ 0x2ba3a80] frame=869759 QP=26.90 NAL=2 Slice:P Poc:164 I:141  P:994  SKIP:185  size=21599 bytes
[libx264 @ 0x2ba3a80] frame=869760 QP=32.08 NAL=2 Slice:B Poc:160 I:2    P:773  SKIP:537  size=5915 bytes
[libx264 @ 0x2ba3a80] frame=869761 QP=33.42 NAL=0 Slice:B Poc:158 I:0    P:463  SKIP:854  size=1724 bytes
[libx264 @ 0x2ba3a80] frame=869762 QP=33.48 NAL=0 Slice:B Poc:162 I:0    P:724  SKIP:594  size=4491 bytes
[libx264 @ 0x2ba3a80] frame=869763 QP=26.93 NAL=2 Slice:P Poc:172 I:133  P:995  SKIP:192  size=21349 bytes

Change History (6)

comment:1 by Carl Eugen Hoyos, 10 years ago

Keywords: green benetian blinds removed

How can I reproduce this?
I mean if I download the source file you uploaded how do I get the broken output?

comment:2 by herman602, 10 years ago

Sorry,
In my observation, it happens in random.
I have no accurate steps to reproduce this now.

comment:3 by Carl Eugen Hoyos, 10 years ago

Does it also happen with file input? Or only with udp input?
Does it also happen if you use a native encoder like mpeg2video? Or only with x264?

comment:4 by herman602, 10 years ago

I can't use dvblast to regenerate that UDP stream,
so I use VLC to stream the input file which I uploaded.

After I tested it, the result is

file input + x264, OK
file input + mpeg2video, OK
udp input + x264, OK
udp input + mpeg2video, OK

But at the problem time, I use the VLC player to watch the video which generated by dvblast is normal. It's strange.

comment:5 by Carl Eugen Hoyos, 10 years ago

So are you reporting a dvblast problem?

comment:6 by herman602, 10 years ago

Sorry, it's not.
At that time time, I killed that ffmpeg process, and I restarted the ffmpeg,
the video output become normal. And, I use the VLC player to watch the video stream generated by dvblast is normal, but after the ffmpeg transcoding process, the output is broken.

Note: See TracTickets for help on using tickets.