Seems like the latest version of ffmpeg (ffmpeg-devel-0.4.9-9_cvs20050517.rhfc3.at) breaks the code.
The struct AVCodecContext changed. The entries frame_rate and frame_rate_base are no longer there, but replaced with something called pts which really isn't defined. Here's the line from /usr/include/ffmpeg/avcodec.h
/**\
* presentation timestamp in time_base units (time when frame should be shown to user)\
* if AV_NOPTS_VALUE then frame_rate = 1/time_base will be assumed\
* - encoding: MUST be set by user\
* - decoding: set by lavc\
*/\
int64_t pts;\
Hi Zoneminder,
Did you ever figure this compile problem out? I get the same exact errors on FC4, trying to compile zm 1.21.3 with ffmpeg from cvs as of last Sunday.
The ffmpeg interface changed a while back. I have a version of ZM that works now with the cvs version of ffmpeg. It's not released yet but will be very shortly.
Am I right in assuming that building is broken again? zm 1.21.4's release notes suggest that this problem has been fixed, but I'm still seeing
zm_mpeg.cpp:102: error: 'struct AVCodecContext' has no member named 'frame_rate'
zm_mpeg.cpp:103: error: 'struct AVCodecContext' has no member named 'frame_rate_base'
Is there a fix for this (quick or otherwise)? I was going to browse through CVS but I've had no luck finding the repository for zoneminder.
I'd like very much to try this 1.22.0 - I've hit the wall on my FC4 box trying to get an ffmpeg to build that's ostensibly compatible with zoneminder.
The problem is that, given the gcc version I have, ffmpeg 4.8 simply will not compile. And none of the repositories I've got in apt have anything older than 4.9. It's really a nightmare - I've spent many hours just trying to get ffmpeg 4.8 to build. From what I've been able to gather, it's b/c of some known issue with gcc4.
I'd be very overjoyed to have the opportunity to try zm 1.22.0
I'm hoping that zm will support my v4l2 device (which motion pretty much does not afaict).