H.264 decoding error log from RTSP stream

2

I am getting the following H264 error log. This log comes while decoding an RTSP video stream with help of FFMPEG. The picture displayed is blurred after 5/6 seconds. The picture would recover it from time to time. However, it remains blurred for most of the time.

EDIT: Some FFMPEG discussion forums suggested to upgrade FFMPEG version to avoid these logs. I have updated the latest FFMPEG build of June 19, 2015.Still the log remains there and picture is still blurred.

[h264 @ 0abb2aa0] Cannot use next picture in error concealment
[h264 @ 0abb2aa0] concealing 1933 DC, 1933 AC, 1933 MV errors in P frame
[h264 @ 098e5c80] RTP: missed 131 packets
[h264 @ 0abb3300] error while decoding MB 66 25, bytestream (-9)
[h264 @ 0abb3300] Cannot use next picture in error concealment
[h264 @ 0abb3300] concealing 1583 DC, 1583 AC, 1583 MV errors in P frame
[h264 @ 098e5c80] RTP: missed 8 packets
[h264 @ 0b113e40] error while decoding MB 54 30, bytestream (-11)
[h264 @ 0b113e40] Cannot use next picture in error concealment
[h264 @ 0b113e40] concealing 1195 DC, 1195 AC, 1195 MV errors in P frame
[h264 @ 098e5c80] RTP: missed 118 packets
[h264 @ 0ac79960] error while decoding MB 13 20, bytestream (-13)
[h264 @ 0ac79960] Cannot use next picture in error concealment
[h264 @ 0ac79960] concealing 2036 DC, 2036 AC, 2036 MV errors in P frame
[h264 @ 098e5c80] RTP: missed 198 packets
[h264 @ 0ad4f500] error while decoding MB 21 9, bytestream (-5)
[h264 @ 0ad4f500] Cannot use next picture in error concealment
[h264 @ 0ad4f500] concealing 2908 DC, 2908 AC, 2908 MV errors in P frame
[h264 @ 098e5c80] RTP: missed 108 packets
[h264 @ 0abb3300] error while decoding MB 1 14, bytestream (-5)
[h264 @ 0abb3300] Cannot use next picture in error concealment
[h264 @ 0abb3300] concealing 2528 DC, 2528 AC, 2528 MV errors in P frame
[h264 @ 098e5c80] RTP: missed 106 packets
[h264 @ 0b1149c0] error while decoding MB 12 5, bytestream (-7)
[h264 @ 0b1149c0] Cannot use next picture in error concealment
[h264 @ 0b1149c0] concealing 3237 DC, 3237 AC, 3237 MV errors in P frame
[h264 @ 098e5c80] RTP: missed -65402 packets
[h264 @ 0b1155a0] error while decoding MB 50 38, bytestream (-7)
[h264 @ 0b1155a0] Cannot use next picture in error concealment
[h264 @ 0b1155a0] concealing 559 DC, 559 AC, 559 MV errors in P frame
[h264 @ 098e5c80] RTP: missed 150 packets
[h264 @ 0af65740] error while decoding MB 48 31, bytestream (-15)
[h264 @ 0af65740] Cannot use next picture in error concealment
[h264 @ 0af65740] concealing 1121 DC, 1121 AC, 1121 MV errors in P frame
[h264 @ 098e5c80] RTP: missed 4 packets
[h264 @ 0ac79960] error while decoding MB 35 38, bytestream (-41)
[h264 @ 0ac79960] Cannot use next picture in error concealment
[h264 @ 0ac79960] concealing 574 DC, 574 AC, 574 MV errors in P frame

EDIT: I dumped the RTSP stream to an avi file using ffmpeg and there are no errors. C:\Users\Matlab>ffmpeg -i rtsp://192.168.1.67/gnz_media/main 123.avi

There are no H.264 decoding errors. Can anybody help with above decoding errors using ffmpeg api.

Tariq

Posted 2015-06-22T11:08:47.607

Reputation: 121

Crossposted duplicate. – llogan – 2015-06-22T16:23:43.873

Answers

0

What are you trying to achieve in the first place ?

My guess is that you forgot to specify which codecs ffmpeg uses on the stream after the decoding. It reencodes any input with libx264 as a default and it's too slow for your computer => you miss frames from the input.

When specifying an avi file, ffmpeg will use mpeg4 as a default codec which is much faster than libx264, so that's probably why you didn't miss any frame this time.

Try the following :

ffmpeg -i rtsp://192.168.1.67/gnz_media/main -c copy out.mp4

Ely

Posted 2015-06-22T11:08:47.607

Reputation: 1 378

Thanks for your reply. I have already tried the ffmpeg command and it works perfectly, without any errors. I am receive RTSP stream, decode it using ffmpeg. I see packet loss ther and trying to find a solution for these missing packets in my C program. – Tariq – 2015-06-27T10:02:21.787

I am specifying H.264 codec while initializing. Is this you are mentioning or something else. Can you explain a bit more? – Tariq – 2015-06-27T10:05:02.600

I have the following statement in my code: mAVCodec = avcodec_find_decoder(mpAVCodecContext->codec_id) //the value is AV_CODEC_ID_H264 (28). Is it what you mean or something else is overlooked by me? – Tariq – 2015-06-27T11:29:04.853

mAVCodec = avcodec_find_decoder( CODEC_ID_MPEG4); gives me the following output Input #0, rtsp, from 'rtsp://192.168.1.67/gnz_media/main': Metadata: title : Media Server Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: h264 (High), yuvj420p(pc), 640x480 [SAR 1:1 DAR 4:3], 15 fps, 25 tbr, 90k tbn, 30 tbc Stream #0:1: Data: none openVideoFile:Decoder: mpeg4 [mpeg4 @ 0dd44420] Codec type or id mismatches ERROR:openVideoFile:Could not open codec! error opening video file – Tariq – 2015-06-27T16:10:14.950