Hi i need to know everything about codec integration in android like list of codec with details and which one is best to use and how to use .(For audio and video call over internet )
You can see all supported codecs at official documentation
https://developer.android.com/guide/topics/media/media-formats.html
In our calls project wich used WebRTC we using OPUS codec for audio and H264 for video.
Related
I am searching for a library which offer ability for streaming video from android device (5.1+) and recording it at the same time.
I tried MediaRecorder - the usual way to record videos on android - but with it I am not able to stream it over webrtc or rtsp because camera is busy.
Currently I am using libstreaming. With little modification done app can record and stream over rtsp concurrently. But this lib lacks support for hardware codec in MTK and SPRG chipsets.
I am wonder if you can recommend a solution or another lib which.
By the moment lib works only on nexus 4 with qcom chipset.
After several days of research, I came to the decision to use a combination of FFMpeg and MediaCodec.
It seems that the only way to get frames from camera at high rate is to use Android MediaCodec API. But MediaCodec supports only mp4 file formats, which is not an option for me (I need ts), while FFMpeg can process\create any kind of human known video formats.
Currently I am trying to make it work together (read ByteBuffer from MediaCodec and feed FFMpeg recorder with it).
Useful links:
Grafika project: https://github.com/google/grafika
ContinuousCapture and Show + record are the most interesting parts to check
javacpp (specifically FFMpeg wrapper): https://github.com/bytedeco/javacpp
Has example with recording and streaming.
kickflip sdk: https://github.com/Kickflip/kickflip-android-sdk
The library which makes two mentioned above tools works together and also is open sourced. Sadly it doesn't solve my problem fully. The feature I need is requested but not already implemented: https://github.com/bytedeco/javacv/issues/95
In my ndroid application, I need to display H264 streams from a GrandStream IP Camera. I saw some topics about decoding H264 frames with MediaCodec in Android, but I really don't know where to start.
Before searching this topic, I thought that there were planty of open source library for that purpose but It seems there is not!
Can you show me a way where to start? Should I use Android's MediaCodec or is there any open source Java library for that?
You can refer to this site, It has a very thoroughly discussion and sample about Android Media Codec
In my project I need to implement an HLS (HTTP live Streaming) for an android device and it stream to an iOS device to play where android device will record the video and send it to server and iOS device will play the stream from the server using an m3u8 file. In the link below
Click Here
They have mention "Currently, the supported delivery format is MPEG-2 Transport Streams for audio-video".
Now problem is that in android you can record only in mp4 by default (correct me if i am wrong). Now I need some third party API or library like ffmpeg, Gstreamer, Xuggler, Jcodec to transcode recorded mp4 to ts files.
ffmpeg, jffmpeg and Gstreamer have a learning curve and to setup time and also need NDK. So I need some help because I don't have enough time to try one of these please refer me if you know any library which is easy to use and does not have a complex learning and setup time. Like Jcodec which is pure java base and plug and play type library but I don't think it can do this for me as they have mention in there documentation they support h262 codec support yet but i need h264 and ACC for audio.
FYI:
JJPMEG
It is a Java binding to FFmpeg and it have an android verison too. Maybe you can give it a try.
https://code.google.com/p/jjmpeg/
Or:
Maybe you can just record the video with supporting encoding and transcode the video in the server side?
Android have native audio encoders and audio decoders, and you can record and play with this native formats without problems, but you also can implements your own audio codecs. I do not understood very well how to do it, anyone know an implementation of custom encode codecs in android platform? I'm trying do it with opus format for be more specific, but any other codec format implementation can give-me an idea of how I can do it.
You can use FFMPEG to endode/decode a lot of audio codecs.
see: https://stackoverflow.com/a/4820282/763394
also you can have a look to gstreamer framework: https://stackoverflow.com/a/5780113/763394
I'm looking for, either open-source or commercially available, Audio and Videl encoder & decoder for Android for an application I want to write for Android. For audio, I want to be able to both encode-decode the AMR/AD-PCM/AAC formats and for Video H.263/H.264 & MPEG4 formats.
I can see from Android documentation that encoding & decoding AMR-NB audio format is provided by the Android platform and for Video H.263 is provided. But, for rest of the codecs (both Audio & Video) that I've listed, decoder is there but not encoder (If I got it right).
Can anyone please help me in providing me with the pointers/suggestions for how/where can I find these codecs that are optimized/suitable for Android?
Thanks & Regards,
Harsha
Can anyone please help me in providing
me with the pointers/suggestions for
how/where can I find these codecs that
are optimized/suitable for Android?
Contact PacketVideo (authors of the OpenCORE multimedia engine), and be prepared to write a check for a very large sum of money.
Or, use the Native Development Kit (NDK) and transcode the video from a supported format to the one you want.
Or, use a server to transcode the video from a supported format to the one you want.