Open oantajames opened 7 years ago
Yes, you are right. Most RTMP clients choose librtmp
as the network library for it has been also adopted as the external library of some famous projects like FFmpeg
. And that is the public opinion foundation of librtmp
.
I picked SimpleRTMP
because yasea
was only an experimental toy in the early. I wanted to make it in pure Java on purpose. So that is why I searched on Github and found SimpleRTMP
. The original code is only for music playing. I spent several weeks to make it work on streaming both video and audio. Several months later I simplified the code and even make it port on ExoPlayer as RTMP play library (Unfortunately the porting is not allowed to be opened by my boss).
I think as for Android application, if it is not performance intensive, implementation in Java is always better than that in C/C++. There is no need to do extra JNI code. There is no consideration for different CPU architectures building. There is even smaller size for your program. In fact the RTMP performance is not bad for networking. So that is the main reason why I have kept the Java RTMP module so far.
@begeekmyfriend Thanks for the answear! Right now I'm trying to implement on this RTMP client server specific authentication(cause from what I have seen it doesn't support). Wha would you say it's easier to do from the following(from your perspective) :
Change the entire RTMP client to librtmp that supports all of the rtmp (rtmps, rtmpt etc.) ?
Modify the existing SimpleRTMP client so it supports server specific authentication ?
Thank you again !
I pick the second option though I have not tested on Wowza. I was told that the code of librtmp
is sh*t.
@begeekmyfriend any hint on how to achieve this using the current SimpleRTMP module ? Thank you again!
I suggest using FFmpeg
for Wowza authentication test and Wireshark
to capture and analyze the networking packets.
I'm thinking if it's possible to change the current RTMP client to RTMPDump (http://rtmpdump.mplayerhq.hu) or (librtmp). From what I have understood from the code minimal things will need to be changed. Why did you use SimpleRTMP a project that was not been upgraded during the last 3 years ? Is something special about it that I missed ? I saw some reference in Chinese here #31 explaining why you chose SimpleRTMP over other RTMP clients, but the translation from Google was not very accurate.
Thank you in advance!