使用Gstreamer或ffmpeg在Android上创建rtsp客户端 [英] Using Gstreamer or ffmpeg to create rtsp client on Android

查看:685
本文介绍了使用Gstreamer或ffmpeg在Android上创建rtsp客户端的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在Android上流式传输一个rtsp流,我终于得到
结论,我不能使用android API的MediaPlayer,Videoview等,因为
延迟是我的大问题。我需要一个≤500ms的延迟。现在我是
计划使用Gstreamer或ffmpeg创建一个android rtsp客户端。我只是少了
的疑虑


  1. Gstreamer或ffmpeg客户端能否提供500ms的延迟。我看到有
    一些参数,我可以调整得到非常低的延迟。只要
    确认。我有非常好的网络带宽。框架尺寸通常为
    1920X1080。


  2. 我读Gstreamer是一个ffmpeg以上的一级,并使用ffmpeg
    编解码器工作。我想知道哪一个更容易使用来创建一个android客户端。如果我使用Gstreamer的Android客户端,我是否也必须使用Gstreamer服务器来流式传输数据?目前我正在使用Live555 RTSP服务器流式传输数据



解决方案

说说ffmpeg,但是对于GStreamer:



1)是的,您可以使用GStreamer作为RTSP客户端,将延迟远远低于500ms。请参阅rtspsrc上的latency属性(例如,如果您使用播放器,则可以通过setup-source信号访问...),而且应该是。默认情况下设置为2000毫秒(这是一个安全的默认值),但如果网络速度足够快,您可以将其设置得更低。



2)这取决于你两种API的经验。对于我自己来说,GStreamer应用程序会更容易一些,您可以在互联网上找到几个示例:
https://coaxion.net/blog/2014/08/gstreamer-playback-api/
http://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/tree/gst-sdk/tutorials (android教程)



3)您可以使用任何符合标准的RTSP服务器,两者都应该工作。 GStreamer有一个非常简单但功能强大的API,并且包含在Android的GStreamer二进制文件中,您可以在这里获得: http://gstreamer.freedesktop.org/data/pkg/android/1.4.3/


I want to stream a rtsp stream on android and I finally have come to conclusion that I can't use android API's MediaPlayer,Videoview etc because latency is big issue for me. I need an latency of <500 ms. Now I am planning to use Gstreamer or ffmpeg to create an android rtsp client. I just have few doubts

  1. Will the Gstreamer or ffmpeg client be able to provide latency <500ms. I read there are some parameters which I can tweak to get very low latency. Just want to confirm. I have very good network bandwidth. The frame size is generally 1920X1080.

  2. I read Gstreamer is one made one level above ffmpeg and uses ffmpeg codecs to work. I want to know which one is easier to work with for creating an android client. Working on Gstreamer or workig directly on ffmpeg.

  3. If I use Gstreamer android client, Will I have to use the Gstreamer server as well to stream the data? Currently I am using Live555 RTSP server to stream data

解决方案

I can't speak about ffmpeg, but for GStreamer:

1) Yes, you can get latencies much lower than 500ms with GStreamer as an RTSP client. See the latency property on rtspsrc (which e.g. can be accessed via the setup-source signal if you use playbin... and you should). By default this is set to 2000 miliseconds (which is a safe default) but if you network is fast enough you can set this much lower.

2) That depends on your experience with both APIs. For myself a GStreamer application would be much easier, and you can find a few samples on the internet: https://coaxion.net/blog/2014/08/gstreamer-playback-api/ http://cgit.freedesktop.org/~slomo/gst-sdk-tutorials/tree/gst-sdk/tutorials (the android tutorials)

3) You can use any standard conformant RTSP server, both should work. GStreamer's has a very simple but powerful API, and is included with the GStreamer binaries for Android that you can get here: http://gstreamer.freedesktop.org/data/pkg/android/1.4.3/

这篇关于使用Gstreamer或ffmpeg在Android上创建rtsp客户端的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆