在Android中播放RTSP流

时间:2011-09-18 21:01:40

标签: android ffmpeg streaming rtsp

我正在尝试在Android设备上播放视频流。不幸的是,我仍然遇到MediaPlayer / VideoView的同样问题。我正在寻找几天,但仍然没有找到任何有效的解决方案。 出于测试目的,我正在使用来自API Demos的MediaPlayer应用程序(API Demos / Media / MediaPlayer / Play Streaming Video)。 这是播放流的代码片段

mMediaPlayer = new MediaPlayer();
mMediaPlayer.setDataSource(path);
mMediaPlayer.setDisplay(holder);
mMediaPlayer.prepare();
mMediaPlayer.setOnBufferingUpdateListener(this);
mMediaPlayer.setOnCompletionListener(this);
mMediaPlayer.setOnPreparedListener(this);
mMediaPlayer.setOnVideoSizeChangedListener(this);

当我尝试播放流时,我从logcat获取此信息 http://pastebin.com/5Uib5CH5

这是ffserver流视频的配置

Port 8090
BindAddress 0.0.0.0

RTSPPort 7654
RTSPBindAddress 0.0.0.0

MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 10000

CustomLog -
NoDaemon
<Feed feed1.ffm>

File /tmp/feed1.ffm
FileMaxSize 5M

Launch ffmpeg -i mmsh://tempserv.cam/vid1

ACL allow 127.0.0.1

</Feed>

<Stream rat1.mpg>
Feed feed1.ffm
Format rtp
NoAudio
VideoBitRate 56k
VideoBufferSize 40
VideoFrameRate 12
VideoSize 176x144
VideoGopSize 12
VideoCodec libx264
AVPresetVideo baseline
</Stream>

如果有人可以告诉我如何解决,或者至少表明错误,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案如何运行适合Android设备的流媒体。这是我遇到类似问题的其他人的ffserver配置。

Port 8090
BindAddress 0.0.0.0
RTSPPort 7654
RTSPBindAddress 0.0.0.0

MaxHTTPConnections 2000
MaxClients 1000
MaxBandwidth 10000

CustomLog -
NoDaemon

<Feed feed1.ffm>

File /tmp/feed1.ffm
FileMaxSize 5M

Launch ffmpeg -i mmsh://tempserv.cam/vid1

ACL allow 127.0.0.1
</Feed>

<Stream rat1.mpg>

Feed feed1.ffm
Format rtp
NoAudio

VideoBitRate 56k
VideoBufferSize 40
VideoFrameRate 12
VideoSize 176x144
VideoGopSize 12
VideoCodec h263

AVOptionVideo flags +global_header

</Stream>