1.26.4 Error while decoding frame errors
1.26.4 Error while decoding frame errors
I just upgraded my 1.26.3 system to 1.26.4 and get lots of decoding frame errors in the system log and very slow frame rates/ corrupted images when viewing. Tried upgrading ffmpeg to latest version (version N-57145-g42a8d8a) and recompiled but still getting same errors. Cameras are using rstp and mjpeg.
Reverted back to 1.26.3 and everything working fine again. Anybody got any ideas ?
Reverted back to 1.26.3 and everything working fine again. Anybody got any ideas ?
Re: 1.26.4 Error while decoding frame errors
You'll get these if your ffmpeg-libs aren't up to the task. Maybe you compiled 1.26.4 with the wrong ffmpeg path or omitted some options?
Re: 1.26.4 Error while decoding frame errors
Just did a fresh install of ffmpeg and Zoneminder and still getting same errors. Have reverted back to 1.26.3 and all working ok again. Used same configure options to build 1.26.4 and 1.26.3 so the configure options cannot be the problem. Very odd.
Re: 1.26.4 Error while decoding frame errors
I'm seeing the same problem with 1.26.4 using the iconner ppa on ubuntu server. Downgrade back to 1.26.3 and the issue is gone. I also use rtsp mpeg streaming cameras.
Re: 1.26.4 Error while decoding frame errors
Is anyone using 1.26.4 with rtsp mpeg without getting any errors ?
Re: 1.26.4 Error while decoding frame errors
I tested the patch with FFmpeg 10.2/10.4 ... The error occurs after the call after avcodec_decode_video2, may be in the current version of FFmpeg something has changed ... I can not verify this for the next week: (you'll have to wait
Usually a frame decoding error occurs if the ffmpeg is built without swscale.
Usually a frame decoding error occurs if the ffmpeg is built without swscale.
Re: 1.26.4 Error while decoding frame errors
This is the output from ffmpeg, it shows swscale is present.
Code: Select all
ffmpeg version N-57215-g3ed65d9 Copyright (c) 2000-2013 the FFmpeg developers
built on Oct 17 2013 01:09:29 with gcc 4.8.1 (GCC) 20130725 (prerelease)
configuration: --prefix=/usr/local --enable-gpl --enable-postproc --enable-swscale --enable-pthreads --enable-x11grab --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libxvid --enable-nonfree --enable-version3 --enable-libvpx --enable-nonfree --enable-libspeex --enable-libv4l2 --enable-libxvid --enable-libspeex --enable-libpulse --enable-libx264 --arch=x86_64 --enable-runtime-cpudetect
libavutil 52. 46.101 / 52. 46.101
libavcodec 55. 37.100 / 55. 37.100
libavformat 55. 19.102 / 55. 19.102
libavdevice 55. 4.100 / 55. 4.100
libavfilter 3. 88.101 / 3. 88.101
libswscale 2. 5.101 / 2. 5.101
libswresample 0. 17.103 / 0. 17.103
libpostproc 52. 3.100 / 52. 3.100
Re: 1.26.4 Error while decoding frame errors
A temporary solution to this is to copy the 1.26.3 version of zm_rtp_source.cpp from the src directory into the 1.26.4 release and recompile with that. Seems to work ok and fixes the decoding frame errors.
Hopefully somebody cleverer than me will be able to resolve this problem soon.
Hopefully somebody cleverer than me will be able to resolve this problem soon.
Re: 1.26.4 Error while decoding frame errors
Hello, last days I try Zoneminder 1.26.4, Ubuntu Server 12.04 and Dlink DCS-6113 cam.
Installed by this guide
http://www.zoneminder.com/wiki/index.ph ... e_easy_way
I can connect my cam using rtsp. Http does not work - don't know why.
If I connect cam using rtsp I can see a lot of error - like this. But picture looks good. If I connect cam using ffmpeg, and provide path to cam rtsp://IP_ADDRESS:554/live2.sdp
I have not any errors - but image quality not good.
Also I try older version of ZM - it does not work at all with my cam.
chippy99 - sas: temporary solution to this is to copy the 1.26.3 version of zm_rtp_source.cpp from the src directory into the 1.26.4 release and recompile with that.
But I can not find old version of Zoneminder. Also unfortunetelly, I have not enough skill to couple ZM from sources.
Installed by this guide
http://www.zoneminder.com/wiki/index.ph ... e_easy_way
I can connect my cam using rtsp. Http does not work - don't know why.
If I connect cam using rtsp I can see a lot of error - like this. But picture looks good. If I connect cam using ffmpeg, and provide path to cam rtsp://IP_ADDRESS:554/live2.sdp
I have not any errors - but image quality not good.
Also I try older version of ZM - it does not work at all with my cam.
chippy99 - sas: temporary solution to this is to copy the 1.26.3 version of zm_rtp_source.cpp from the src directory into the 1.26.4 release and recompile with that.
But I can not find old version of Zoneminder. Also unfortunetelly, I have not enough skill to couple ZM from sources.
Re: 1.26.4 Error while decoding frame errors
zm_rtp_source.cpp file versions 1.26.3 and 1.26.4 differ only in the type casting ... so strange a decision ...chippy99 wrote:A temporary solution to this is to copy the 1.26.3 version of zm_rtp_source.cpp from the src directory into the 1.26.4 ...
see diff below
--- ZoneMinder-1.26.3/src/zm_remote_camera_rtsp.cpp
+++ ZoneMinder-1.26.4/src/zm_remote_camera_rtsp.cpp
@@ -161,7 +161,7 @@
// Find first video stream present
mVideoStreamId = -1;
- for ( int i = 0; i < mFormatContext->nb_streams; i++ )
+ for ( unsigned int i = 0; i < mFormatContext->nb_streams; i++ )
#if LIBAVUTIL_VERSION_INT >= AV_VERSION_INT(51,2,1)
if ( mFormatContext->streams->codec->codec_type == AVMEDIA_TYPE_VIDEO )
#else
@@ -183,7 +183,11 @@
Panic( "Unable to locate codec %d decoder", mCodecContext->codec_id );
// Open codec
+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(53, 7, 0)
if ( avcodec_open( mCodecContext, mCodec ) < 0 )
+#else
+ if ( avcodec_open2( mCodecContext, mCodec, 0 ) < 0 )
+#endif
Panic( "Can't open codec" );
// Allocate space for the native video frame
@@ -196,10 +200,10 @@
Fatal( "Unable to allocate frame(s)");
int pSize = avpicture_get_size( imagePixFormat, width, height );
- if( pSize != imagesize) {
+ if( (unsigned int)pSize != imagesize) {
Fatal("Image size mismatch. Required: %d Available: %d",pSize,imagesize);
}
-
+/*
#if HAVE_LIBSWSCALE
if(!sws_isSupportedInput(mCodecContext->pix_fmt)) {
Fatal("swscale does not support the codec format: %c%c%c%c",(mCodecContext->pix_fmt)&0xff,((mCodecContext->pix_fmt>>8)&0xff),((mCodecContext->pix_fmt>>16)&0xff),((mCodecContext->pix_fmt>>24)&0xff));
@@ -212,7 +216,7 @@
#else // HAVE_LIBSWSCALE
Fatal( "You must compile ffmpeg with the --enable-swscale option to use RTSP cameras" );
#endif // HAVE_LIBSWSCALE
-
+*/
return( 0 );
}
Re: 1.26.4 Error while decoding frame errors
I am interested in your error problem. I wonder whether it is related to my forum topic about 'make' fails. I wrote about: avcodec_decode_video2 being only in libavcodec 54 and above.
For example, the latest Ubuntu Server 12.04.03 version has libavcodec version 53
However, avcodec.decode_video is deprecated since libavcodec54. Yet your latest ffmpeg is compiled with avcodec_decode_video2 ( in libavcodec55).
So is there an ffmpeg mismatch, or a conflict of versions going on? Just a novice thought!
For example, the latest Ubuntu Server 12.04.03 version has libavcodec version 53
However, avcodec.decode_video is deprecated since libavcodec54. Yet your latest ffmpeg is compiled with avcodec_decode_video2 ( in libavcodec55).
So is there an ffmpeg mismatch, or a conflict of versions going on? Just a novice thought!
Re: 1.26.4 Error while decoding frame errors
zm_rtp_source.cpp are very different between 1.26.3 and 1.26.4.
You have diffed zm_remote_camera_rtsp.cpp not zm_rtp_source.cpp
It looks like the latest version will only work with H.264 since it is looking for NAL packets only.
You have diffed zm_remote_camera_rtsp.cpp not zm_rtp_source.cpp
It looks like the latest version will only work with H.264 since it is looking for NAL packets only.
Re: 1.26.4 Error while decoding frame errors
Not only that, but it will only work for one type of fragmentation (FU-A) and will fail if FU-B is used.chippy99 wrote:It looks like the latest version will only work with H.264 since it is looking for NAL packets only.
Re: 1.26.4 Error while decoding frame errors
Hello Guys ))
Thanks you for replays, but can some one provide some fix?
As I told it before, I can not compile ZM from source (I have not enough skill)
Is it possible release some dpkg or maybe some patch and detailed instruction how I can apply it?
Thanks you!
Thanks you for replays, but can some one provide some fix?
As I told it before, I can not compile ZM from source (I have not enough skill)
Is it possible release some dpkg or maybe some patch and detailed instruction how I can apply it?
Thanks you!
Re: 1.26.4 Error while decoding frame errors
Yes, you are certainly right ...chippy99 wrote:zm_rtp_source.cpp are very different between 1.26.3 and 1.26.4.
You have diffed zm_remote_camera_rtsp.cpp not zm_rtp_source.cpp
It looks like the latest version will only work with H.264 since it is looking for NAL packets only.
However, the error occurs at the moment of trying to frame decoding in the file zm_rtp_source.cpp.
"Very different" - it's only the support of a fragmented NAL package
Yes, the part relating to RTP, corrected for working with the flow of H264. Moreover, it is possible that implementation only for the hikvision cameras.
The problem may be that it is your camera offers a choice of several implementations of the flow ... in version 1.26.3 when trying to take a fragmented NAL was an error and was used mjpeg.
there some pictures... and some errors...