[vlc] Vlc - ffmpeg bug?

Nick Nickoo nicknickou2 at yahoo.com
Wed Jul 12 19:04:44 CEST 2006


Hello all, 

I want to report a strange behaviour, which may be a bug. 

I have a client-server system. The server is a vlc-0.8.5. I control the streams through vlm, and after some modifications in the code, i can change on the fly the sout parameters ( i.e encoding characteristics ). Eventhough i run vlc with --sout-keep option, i saw from the log that the old sout is unused-destroyed, and a new is created. Everything perfect until now.

But the client side is where this strange behaviour occurs...

 - When the receiver is vlc-0.8.1 there is no problem. Actually, a libdvbpsi error is reported ( TS discontinuity ), but the new stream is properly displayed in the client after a smooth transaction. This is the message of the transaction:

--------------------------------------------------------------------------------------------
main warning: late picture skipped (670319)
main warning: late picture skipped (718411)
main warning: late picture skipped (749241)
main warning: late picture skipped (911277)
ts debug: PATCallBack called
ts debug: new PAT ts_id=44841 version=19 current_next=1
ts debug:   * number=1 pid=66
ts debug: PMTCallBack called
ts debug: new PMT program number=1 version=9 pid_pcr=68
ts debug:   * es pid=68 type=16 fcc=mp4v
main warning: late picture skipped (1200880)
main debug: unlocking module "xvideo"
main debug: thread -222233680 joined (src/video_output/video_output.c:483)
main debug: no usable vout present, spawning one
main debug: looking for video output module
main debug: probing 8 candidates
xvideo debug: adaptor 0, port 60, format 0x32315659 (YV12) planar
main debug: Registering subpicture channel, ID: 2
main debug: Registering subpicture channel, ID: 3
main debug: Registering subpicture channel, ID: 4
main debug: Registering subpicture channel, ID: 5
xvideo debug: Window manager supports NetWM
xvideo debug: Window manager supports _NET_WM_STATE_FULLSCREEN
xvideo debug: Window manager supports _NET_WM_STATE_ABOVE
xvideo debug: Window manager supports _NET_WM_STATE_BELOW
main debug: using video output module "xvideo"
main debug: waiting for thread completion
main debug: got 8 direct buffer(s)
main debug: picture in 80x60, chroma 0x30323449 (I420), aspect ratio 16:9
main debug: picture out 80x60, chroma 0x30323449 (I420), aspect ratio 16:9
main debug: direct render, mapping render pictures 0-6 to system pictures 1-7
main debug: thread -222233680 (video output) created at priority 0 (src/video_output/video_output.c:443)
main warning: late picture skipped (79942)
main warning: late picture skipped (40909)
-------------------------------------------------------------------------------------------------------------

 - When the receiver is a newest vlc version ( i checked vlc-0.8.4a, vlc-0.8.5 ) some problems occur. The final result is something like overlapping, pixels moving around, the image is "melting" and a lot of "beautiful" artifacts. 
In some cases, depending on the sout's change, it manages to resolve these problems ( i.e change encoding bitrate, or increasing fps ). 
In other cases ( like decreasing fps, change frame size ), the beautiful artifacts i described above appear with messages which are like this:

If i restart the stream in the client side, everything works fine (that's why i think that it keeps old sout parameters).
A typical success message for vlc-0.8.4a is 

--------------------------------------------------------------------------

main debug: thread 4039846832: secret message triggered at src/misc/block.c:228 (Connection timed out)
ts debug: PATCallBack called
ts debug: new PAT ts_id=292 version=31 current_next=1
ts debug:   * number=1 pid=66
ts debug: PMTCallBack called
ts debug: new PMT program number=1 version=27 pid_pcr=68
ts debug:   * es pid=68 type=16 fcc=mp4v
main debug: looking for decoder module: 21 candidates
ffmpeg debug: libavcodec already initialized
ffmpeg debug: postprocessing disabled
ffmpeg debug: ffmpeg codec (MPEG-4 Video) started
main debug: using decoder module "ffmpeg"
main debug: looking for packetizer module: 16 candidates
main debug: using packetizer module "packetizer_mpeg4video"
main debug: thread 4062596016 (decoder) created at priority 0 (src/input/decoder.c:159)
ffmpeg debug: ffmpeg codec (MPEG-4 Video) stopped
main debug: unlocking module "ffmpeg"
main debug: thread 4039846832 joined (src/input/decoder.c:191)
main debug: killing decoder fourcc `mp4v', 0 PES in FIFO
main debug: unlocking module "packetizer_mpeg4video"
main debug: unlocking module "xvideo"
main debug: thread 4051958704 joined (src/video_output/video_output.c:456)
main debug: no usable vout present, spawning one
main debug: window size: 400x300
main debug: looking for video output module: 6 candidates
xvideo debug: adaptor 0, port 60, format 0x32315659 (YV12) planar
main debug: Registering subpicture channel, ID: 2
main debug: Registering subpicture channel, ID: 3
main debug: Registering subpicture channel, ID: 4
main debug: Registering subpicture channel, ID: 5
xvideo debug: Window manager supports NetWM
xvideo debug: Window manager supports _NET_WM_STATE_FULLSCREEN
xvideo debug: Window manager supports _NET_WM_STATE_ABOVE
xvideo debug: Window manager supports _NET_WM_STATE_BELOW
main debug: using video output module "xvideo"
main debug: waiting for thread completion
main debug: got 8 direct buffer(s)
main debug: picture in 600x450 (0,0,600x450), chroma I420, ar 16:9, sar 4:3
main debug: picture user 600x450 (0,0,600x450), chroma I420, ar 16:9, sar 4:3
main debug: picture out 600x450 (0,0,600x450), chroma I420, ar 16:9, sar 4:3
main debug: direct render, mapping render pictures 0-6 to system pictures 1-7
main debug: thread 4051958704 (video output) created at priority 0 (src/video_output/video_output.c:416)


---------------------------------------------------------------------------------------------------------------


A typical failure message for vlc-0.8.4a is:

---------------------------------------------------------------------------------------------------------------

main debug: thread 4062596016: secret message triggered at src/misc/block.c:228 (Connection timed out)
ts debug: PATCallBack called
ts debug: new PAT ts_id=47583 version=11 current_next=1
ts debug:   * number=1 pid=66
ts debug: PMTCallBack called
ts debug: new PMT program number=1 version=5 pid_pcr=68
ts debug:   * es pid=68 type=16 fcc=mp4v
main warning: late picture skipped (1046635)
ffmpeg debug: concealing 1082 DC, 1082 AC, 1082 MV errors
 (mpeg4 at 0xa138340)
ffmpeg debug: concealing 1082 DC, 1082 AC, 1082 MV errors
 (mpeg4 at 0xa138340)
ffmpeg debug: concealing 1082 DC, 1082 AC, 1082 MV errors
 (mpeg4 at 0xa138340)
ffmpeg debug: concealing 1082 DC, 1082 AC, 1082 MV errors
 (mpeg4 at 0xa138340)
ffmpeg debug: concealing 1082 DC, 1082 AC, 1082 MV errors
 (mpeg4 at 0xa138340)
ffmpeg debug: concealing 1082 DC, 1082 AC, 1082 MV errors
 (mpeg4 at 0xa138340)
ffmpeg debug: concealing 1082 DC, 1082 AC, 1082 MV errors
 (mpeg4 at 0xa138340)
ffmpeg debug: concealing 1082 DC, 1082 AC, 1082 MV errors
.............................
.............................
.............................

-----------------------------------------------------------------------------------------------------------------

A typical succesful message for vlc-0.8.5 is:

-----------------------------------------------------------------------------------------------------------------

main debug: thread 4072684464: secret message triggered at misc/block.c:228 (Connection timed out)
ts debug: PATCallBack called
ts debug: PMTCallBack called
ts debug: new PMT program number=1 version=1 pid_pcr=68
ts debug:   * es pid=68 type=16 fcc=mp4v
main warning: late picture skipped (1042434)
ffmpeg warning: hmm, seems the headers are not complete, trying to guess time_increment_bits
 (mpeg4 at 0xa3baff0)
ffmpeg warning: my guess is 5 bits ;)
 (mpeg4 at 0xa3baff0)

----------------------------------------------------------------------------------------------------------------

A typical failure message for vlc-0.8.5 is:

----------------------------------------------------------------------------------------------------------------

main debug: thread 4072684464: secret message triggered at misc/block.c:228 (Connection timed out)
ts debug: PATCallBack called
ts debug: new PAT ts_id=31413 version=2 current_next=1
ts debug:   * number=1 pid=66
ts debug: PMTCallBack called
ts debug: new PMT program number=1 version=25 pid_pcr=68
ts debug:   * es pid=68 type=16 fcc=mp4v
main warning: late picture skipped (912002)
ffmpeg warning: header damaged
 (mpeg4 at 0xa3baff0)
ffmpeg warning: cannot decode one frame (10831 bytes)
ffmpeg warning: ac-tex damaged at 1 1
 (mpeg4 at 0xa3baff0)
ffmpeg warning: Error at MB: 27
 (mpeg4 at 0xa3baff0)
ffmpeg debug: concealing 475 DC, 475 AC, 475 MV errors
 (mpeg4 at 0xa3baff0)
ffmpeg warning: header damaged
 (mpeg4 at 0xa3baff0)
ffmpeg warning: cannot decode one frame (8862 bytes)
ffmpeg warning: ac-tex damaged at 6 3
.......................................
.......................................
.......................................

-----------------------------------------------------------------------------------------------------------------

Do you have any ideas about it? Is it really a bug, or is there anything i should check in the way i change sout parameters?Is this a known ffmpeg bug maybe? 
(the 0.8.1 is installed from rpm and use different ffmpeg than 0.8.4a -0.8.5 which are compiled by me). Any recommendations about which files take part in this procedure??

Thanks in advance,
Any help will be really valuable for me

Regards,
Nick


 		
---------------------------------
Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls.  Great rates starting at 1¢/min.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc/attachments/20060712/0bea49c2/attachment.html>


More information about the vlc mailing list