【实例简介】
android 下 rtspServer 流媒体视频播放例子
代码比较详细,功能比较全面,相信会对正在研究rtsp的开发人员会有很大的帮助
【实例截图】
【核心代码】
rtspServer(1).tar
└── rtspServer
├── AndroidManifest.xml
├── bin
│ ├── AndroidManifest.xml
│ ├── classes
│ │ ├── br
│ │ │ └── com
│ │ │ └── voicetechnology
│ │ │ └── rtspclient
│ │ │ ├── concepts
│ │ │ │ ├── Client.class
│ │ │ │ ├── ClientListener.class
│ │ │ │ ├── Content.class
│ │ │ │ ├── EntityMessage.class
│ │ │ │ ├── Header.class
│ │ │ │ ├── MessageBuffer.class
│ │ │ │ ├── Message.class
│ │ │ │ ├── MessageFactory.class
│ │ │ │ ├── Request$Method.class
│ │ │ │ ├── Request.class
│ │ │ │ ├── Response.class
│ │ │ │ ├── Transport.class
│ │ │ │ └── TransportListener.class
│ │ │ ├── HeaderMismatchException.class
│ │ │ ├── headers
│ │ │ │ ├── BaseIntegerHeader.class
│ │ │ │ ├── BaseStringHeader.class
│ │ │ │ ├── ContentEncodingHeader.class
│ │ │ │ ├── ContentLengthHeader.class
│ │ │ │ ├── ContentTypeHeader.class
│ │ │ │ ├── CSeqHeader.class
│ │ │ │ ├── RangeHeader.class
│ │ │ │ ├── SessionHeader.class
│ │ │ │ ├── TransportHeader$LowerTransport.class
│ │ │ │ └── TransportHeader.class
│ │ │ ├── IncompleteMessageException.class
│ │ │ ├── InvalidMessageException.class
│ │ │ ├── messages
│ │ │ │ ├── RTSPDescribeRequest.class
│ │ │ │ ├── RTSPOptionsRequest.class
│ │ │ │ ├── RTSPPlayRequest.class
│ │ │ │ ├── RTSPSetupRequest.class
│ │ │ │ └── RTSPTeardownRequest.class
│ │ │ ├── MissingHeaderException.class
│ │ │ ├── RTSPClient.class
│ │ │ ├── RTSPEntityMessage.class
│ │ │ ├── RTSPMessage$1.class
│ │ │ ├── RTSPMessage.class
│ │ │ ├── RTSPMessageFactory.class
│ │ │ ├── RTSPRequest.class
│ │ │ ├── RTSPResponse.class
│ │ │ ├── test
│ │ │ │ ├── OPTIONSTest.class
│ │ │ │ ├── PLAYTest.class
│ │ │ │ └── SETUPandTEARDOWNTest.class
│ │ │ └── transport
│ │ │ ├── PlainTCP.class
│ │ │ ├── SafeTransportListener.class
│ │ │ └── TransportThread.class
│ │ ├── com
│ │ │ ├── FFmpeg
│ │ │ │ └── ffmpeg.class
│ │ │ ├── jay
│ │ │ │ ├── rtspclient
│ │ │ │ │ ├── H264Decoder.class
│ │ │ │ │ ├── LanVideoPlay.class
│ │ │ │ │ ├── Rtspclient$1.class
│ │ │ │ │ └── Rtspclient.class
│ │ │ │ ├── server
│ │ │ │ │ ├── MediaStream.class
│ │ │ │ │ ├── RtpSocket.class
│ │ │ │ │ ├── RtspServer$Request.class
│ │ │ │ │ ├── RtspServer$RequestListenerThread.class
│ │ │ │ │ ├── RtspServer$Response.class
│ │ │ │ │ ├── RtspServer$WorkerThread.class
│ │ │ │ │ ├── RtspServer.class
│ │ │ │ │ ├── Session$Track.class
│ │ │ │ │ ├── Session.class
│ │ │ │ │ ├── Stream.class
│ │ │ │ │ └── UriParser.class
│ │ │ │ └── video
│ │ │ │ ├── AbstractPacketizer.class
│ │ │ │ ├── H264Packetizer$Chunk.class
│ │ │ │ ├── H264Packetizer$Consumer.class
│ │ │ │ ├── H264Packetizer$Producer.class
│ │ │ │ ├── H264Packetizer$SimpleFifo.class
│ │ │ │ ├── H264Packetizer.class
│ │ │ │ ├── H264Stream$1.class
│ │ │ │ ├── H264Stream.class
│ │ │ │ ├── MP4Config.class
│ │ │ │ ├── MP4Parser.class
│ │ │ │ ├── StsdBox.class
│ │ │ │ ├── VideoQuality.class
│ │ │ │ ├── VideoStream$1.class
│ │ │ │ ├── VideoStream$2.class
│ │ │ │ └── VideoStream.class
│ │ │ └── Jay
│ │ │ └── rtspserver
│ │ │ ├── BuildConfig.class
│ │ │ ├── MainActivity$1.class
│ │ │ ├── MainActivity$2.class
│ │ │ ├── MainActivity$3.class
│ │ │ ├── MainActivity$Draw_Image.class
│ │ │ ├── MainActivity$SurfaceCallBack.class
│ │ │ ├── MainActivity.class
│ │ │ ├── OptionsActivity$1.class
│ │ │ ├── OptionsActivity$2.class
│ │ │ ├── OptionsActivity$3.class
│ │ │ ├── OptionsActivity$4.class
│ │ │ ├── OptionsActivity$5.class
│ │ │ ├── OptionsActivity.class
│ │ │ ├── R$array.class
│ │ │ ├── R$attr.class
│ │ │ ├── R$dimen.class
│ │ │ ├── R$drawable.class
│ │ │ ├── R$id.class
│ │ │ ├── R$layout.class
│ │ │ ├── R$menu.class
│ │ │ ├── R$string.class
│ │ │ ├── R$style.class
│ │ │ ├── R$xml.class
│ │ │ └── R.class
│ │ └── org
│ │ └── sipdroid
│ │ └── net
│ │ ├── Random.class
│ │ ├── RtpPacket.class
│ │ └── RtpSocket.class
│ ├── classes.dex
│ ├── jarlist.cache
│ ├── res
│ │ ├── drawable-hdpi
│ │ │ ├── ic_action_search.png
│ │ │ └── ic_launcher.png
│ │ ├── drawable-ldpi
│ │ │ └── ic_launcher.png
│ │ ├── drawable-mdpi
│ │ │ ├── ic_action_search.png
│ │ │ └── ic_launcher.png
│ │ └── drawable-xhdpi
│ │ ├── ic_action_search.png
│ │ └── ic_launcher.png
│ ├── resources.ap_
│ └── rtspServer.apk
├── gen
│ └── com
│ └── Jay
│ └── rtspserver
│ ├── BuildConfig.java
│ └── R.java
├── ic_launcher-web.png
├── libs
│ ├── android-support-v4.jar
│ └── armeabi-v7a
│ ├── libffmpeg.so
│ └── libmyffmpeg.so
├── lint.xml
├── proguard-project.txt
├── project.properties
├── res
│ ├── drawable-hdpi
│ │ ├── ic_action_search.png
│ │ └── ic_launcher.png
│ ├── drawable-ldpi
│ │ └── ic_launcher.png
│ ├── drawable-mdpi
│ │ ├── ic_action_search.png
│ │ └── ic_launcher.png
│ ├── drawable-xhdpi
│ │ ├── ic_action_search.png
│ │ └── ic_launcher.png
│ ├── layout
│ │ └── activity_main.xml
│ ├── menu
│ │ └── activity_main.xml
│ ├── values
│ │ ├── arrays.xml
│ │ ├── dimens.xml
│ │ ├── strings.xml
│ │ └── styles.xml
│ ├── values-large
│ │ └── dimens.xml
│ ├── values-v11
│ │ └── styles.xml
│ ├── values-v14
│ │ └── styles.xml
│ └── xml
│ └── preferences.xml
└── src
├── br
│ └── com
│ └── voicetechnology
│ └── rtspclient
│ ├── concepts
│ │ ├── Client.java
│ │ ├── ClientListener.java
│ │ ├── Content.java
│ │ ├── EntityMessage.java
│ │ ├── Header.java
│ │ ├── MessageBuffer.java
│ │ ├── MessageFactory.java
│ │ ├── Message.java
│ │ ├── Request.java
│ │ ├── Response.java
│ │ ├── Transport.java
│ │ └── TransportListener.java
│ ├── HeaderMismatchException.java
│ ├── headers
│ │ ├── BaseIntegerHeader.java
│ │ ├── BaseStringHeader.java
│ │ ├── ContentEncodingHeader.java
│ │ ├── ContentLengthHeader.java
│ │ ├── ContentTypeHeader.java
│ │ ├── CSeqHeader.java
│ │ ├── RangeHeader.java
│ │ ├── SessionHeader.java
│ │ └── TransportHeader.java
│ ├── IncompleteMessageException.java
│ ├── InvalidMessageException.java
│ ├── messages
│ │ ├── RTSPDescribeRequest.java
│ │ ├── RTSPOptionsRequest.java
│ │ ├── RTSPPlayRequest.java
│ │ ├── RTSPSetupRequest.java
│ │ └── RTSPTeardownRequest.java
│ ├── MissingHeaderException.java
│ ├── RTSPClient.java
│ ├── RTSPEntityMessage.java
│ ├── RTSPMessageFactory.java
│ ├── RTSPMessage.java
│ ├── RTSPRequest.java
│ ├── RTSPResponse.java
│ ├── test
│ │ ├── OPTIONSTest.java
│ │ ├── PLAYTest.java
│ │ └── SETUPandTEARDOWNTest.java
│ └── transport
│ ├── PlainTCP.java
│ └── SafeTransportListener.java
├── com
│ ├── FFmpeg
│ │ └── ffmpeg.java
│ ├── jay
│ │ ├── rtspclient
│ │ │ ├── H264Decoder.java
│ │ │ ├── LanVideoPlay.java
│ │ │ └── Rtspclient.java
│ │ ├── server
│ │ │ ├── MediaStream.java
│ │ │ ├── RtpSocket.java
│ │ │ ├── RtspServer.java
│ │ │ ├── Session.java
│ │ │ ├── Stream.java
│ │ │ └── UriParser.java
│ │ └── video
│ │ ├── AbstractPacketizer.java
│ │ ├── H264Packetizer.java
│ │ ├── H264Stream.java
│ │ ├── MP4Config.java
│ │ ├── MP4Parser.java
│ │ ├── VideoQuality.java
│ │ └── VideoStream.java
│ └── Jay
│ └── rtspserver
│ ├── MainActivity.java
│ └── OptionsActivity.java
└── org
└── sipdroid
└── net
├── Random.java
├── RtpPacket.java
└── RtpSocket.java
67 directories, 205 files