I am a beginner of FFmpeg. I can see that video can be pushed to an RTMP server by FFmpeg or librtmp on the Internet. But I also see that when compiling FFmpeg, I need to add option enable-librtmp. Are they parallel or inclusive? What is rtmpdump? Does the libtrmp API use RTMP lower-level functions directly?
rtmpdump is a separate project that provides RTMP and related protocols functionality. librtmp is its library form.
FFmpeg has its own set of native RTMP protocol handlers. You can use either in FFmpeg. Adding -enable-librtmp
during configure will disable the native protocols.
rtmpdump is no longer actively developed; FFmpeg is. On that basis, I would prefer the native handlers.