Mac Os X Rtsp Player

(Redirected from RTSP)
  1. Live Player is a professional streaming media player for your smartphone. Live Player will play most popular streaming protocols, including: http, https, hls, rtsp, mms, ums, rtmp. Live Player supports variety of media codec, including: H264, AAC.
  2. The best live stream player with rtmp, rtsp, http, ums supports Supported Platforms: Android / iOS / Windows / Mac OS X / tvOS / Android TV.

Starbuck's FreePlayer is a simple and complete media player based on the powerful MPlayer project. FreePlayer is gratis (free of charge) and its code is open-source. Starbuck's FreePlayer runs on Windows, Linux and Mac OS X platforms.

The Real Time Streaming Protocol (RTSP) is a network control protocol designed for use in entertainment and communications systems to control streaming mediaservers. The protocol is used for establishing and controlling media sessions between endpoints. Clients of media servers issue VHS-style commands, such as play, record and pause, to facilitate real-time control of the media streaming from the server to a client (Video On Demand) or from a client to the server (Voice Recording).

The transmission of streaming data itself is not a task of RTSP. Most RTSP servers use the Real-time Transport Protocol (RTP) in conjunction with Real-time Control Protocol (RTCP) for media stream delivery. However, some vendors implement proprietary transport protocols. The RTSP server software from RealNetworks, for example, also used RealNetworks' proprietary Real Data Transport (RDT).

RTSP was developed by RealNetworks, Netscape[1] and Columbia University, with the first draft submitted to IETF in 1996.[2] It was standardized by the Multiparty Multimedia Session Control Working Group (MMUSIC WG) of the Internet Engineering Task Force (IETF) and published as RFC 2326 in 1998.[3] RTSP 2.0 published as RFC 7826 in 2016 as a replacement of RTSP 1.0. RTSP 2.0 is based on RTSP 1.0 but is not backwards compatible other than in the basic version negotiation mechanism.

Internet protocol suite
Application layer
Transport layer
Internet layer
  • IP
Link layer
  • Tunnels
  • MAC

Protocol directives[edit]

While similar in some ways to HTTP, RTSP defines control sequences useful in controlling multimedia playback. While HTTP is stateless, RTSP has state; an identifier is used when needed to track concurrent sessions. Like HTTP, RTSP uses TCP to maintain an end-to-end connection and, while most RTSP control messages are sent by the client to the server, some commands travel in the other direction (i.e. from server to client).

Presented here are the basic RTSP requests. Some typical HTTP requests, like the OPTIONS request, are also available. The default transport layer port number is 554[3] for both TCP and UDP, the latter being rarely used for the control requests.

OPTIONS
An OPTIONS request returns the request types the server will accept.
Mac Os X Rtsp Player
DESCRIBE
A DESCRIBE request includes an RTSP URL (rtsp://...), and the type of reply data that can be handled. This reply includes the presentation description, typically in Session Description Protocol (SDP) format. Among other things, the presentation description lists the media streams controlled with the aggregate URL. In the typical case, there is one media stream each for audio and video stream. The media stream URLs are either obtained directly from the SDP control fields or they are obtained by appending the SDP control field to the aggregate URL.
SETUP
A SETUP request specifies how a single media stream must be transported. This must be done before a PLAY request is sent. The request contains the media stream URL and a transport specifier. This specifier typically includes a local port for receiving RTP data (audio or video), and another for RTCP data (meta information). The server reply usually confirms the chosen parameters, and fills in the missing parts, such as the server's chosen ports. Each media stream must be configured using SETUP before an aggregate play request may be sent.
PLAY
A PLAY request will cause one or all media streams to be played. Play requests can be stacked by sending multiple PLAY requests. The URL may be the aggregate URL (to play all media streams), or a single media stream URL (to play only that stream). A range can be specified. If no range is specified, the stream is played from the beginning and plays to the end, or, if the stream is paused, it is resumed at the point it was paused.
PAUSE
A PAUSE request temporarily halts one or all media streams, so it can later be resumed with a PLAY request. The request contains an aggregate or media stream URL. A range parameter on a PAUSE request specifies when to pause. When the range parameter is omitted, the pause occurs immediately and indefinitely.
RECORD
This method initiates recording a range of media data according to the presentation description. The time stamp reflects start and end time(UTC). If no time range is given, use the start or end time provided in the presentation description. If the session has already started, commence recording immediately. The server decides whether to store the recorded data under the request URI or another URI. If the server does not use the request URI, the response should be 201 and contain an entity which describes the states of the request and refers to the new resource, and a Location header.
ANNOUNCE
The ANNOUNCE method serves two purposes:
When sent from client to server, ANNOUNCE posts the description of a presentation or media object identified by the request URL to a server. When sent from server to client, ANNOUNCE updates the session description in real-time. If a new media stream is added to a presentation (e.g., during a live presentation), the whole presentation description should be sent again, rather than just the additional components, so that components can be deleted.
TEARDOWN
A TEARDOWN request is used to terminate the session. It stops all media streams and frees all session related data on the server.
GET_PARAMETER
The GET_PARAMETER request retrieves the value of a parameter of a presentation or stream specified in the URI. The content of the reply and response is left to the implementation. GET_PARAMETER with no entity body may be used to test client or server liveness ('ping').
SET_PARAMETER
This method requests to set the value of a parameter for a presentation or stream specified by the URI.
REDIRECT
A REDIRECT request informs the client that it must connect to another server location. It contains the mandatory header Location, which indicates that the client should issue requests for that URL. It may contain the parameter Range, which indicates when the redirection takes effect. If the client wants to continue to send or receive media for this URI, the client MUST issue a TEARDOWN request for the current session and a SETUP for the new session at the designated host.
Embedded (Interleaved) Binary Data
Certain firewall designs and other circumstances may force a server to interleave RTSP methods and stream data. This interleaving should generally be avoided unless necessary since it complicates client and server operation and imposes additional overhead. Interleaved binary data SHOULD only be used if RTSP is carried over TCP. Stream data such as RTP packets is encapsulated by an ASCII dollar sign (24 hexadecimal), followed by a one-byte channel identifier, followed by the length of the encapsulated binary data as a binary, two-byte integer in network byte order. The stream data follows immediately afterwards, without a CRLF, but including the upper-layer protocol headers. Each $ block contains exactly one upper-layer protocol data unit, e.g., one RTP packet.

Rate adaptation[edit]

RTSP using RTP and RTCP allows for the implementation of rate adaptation.[4]

Implementations[edit]

Server[edit]

  • Darwin Streaming Server: Open-sourced version of QuickTime Streaming Server maintained by Apple.
  • Feng: Lean and mean streaming server with focus on rfc compliance.
  • GStreamer based RTSP Server and client.
  • Helix DNA Server: RealNetworks' streaming server. Comes in both open-source and proprietary flavors.
  • Helix Universal Server: RealNetworks commercial streaming server for RTSP, RTMP, iOS, Silverlight and HTTP streaming media clients
  • LIVE555 liveMedia / openRTSP: Open source C++ server and client libraries used in well-known clients like VLC and mplayer.
  • Nimble Streamer supports RTSP pull and announce input with TCP interleaved playback output.
  • pvServer: Formerly called PacketVideo Streaming Server, this is Alcatel-Lucent's streaming server product.
  • QuickTime Streaming Server: Apple's closed-source streaming server that ships with Mac OS X Server.
  • VideoLAN: Open source media player and streaming server.
  • Windows Media Services: Microsoft streaming server previously included with Windows Server that uses RTSP modified with Windows Media extensions
  • Wowza Streaming Engine: Multi-format streaming server for RTSP/RTP, RTMP, MPEG-TS, ICY, HTTP (HTTP Live Streaming, HTTP Dynamic Streaming, Smooth Streaming, MPEG-DASH), WebRTC
  • YouTube: Available streaming option when viewing site through the mobile HTTPS version on a desktop.

Many CCTV / Security cameras, often called IP Cameras, support RTSP streaming too, especially these with ONVIF profiles G, S, T.

Client[edit]

  • cURL (beginning with version 7.20.0—9 February 2010[5])
  • FFmpeg[6]
  • LIVE555 liveMedia / openRTSP: Open source C++ server and client libraries used in well-known clients like VLC and mplayer.
  • MythTV via Freebox

References[edit]

  1. ^InfoWorld Media Group, Inc. (2 March 1998). InfoWorld. InfoWorld Media Group, Inc. p. 18. ISSN0199-6649.
  2. ^Rafael Osso (1999). Handbook of Emerging Communications Technologies: The Next Decade. CRC Press. p. 42. ISBN978-1-4200-4962-6.
  3. ^ abRFC 2326, Real Time Streaming Protocol (RTSP), IETF, 1998
  4. ^Santos, Hugo; Cruz, Rui Santos; Nunes, Mário Serafim (2010), 'Rate Adaptation Techniques for WebTV', Rate Adaption Techniques for WebTV, Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, 40, pp. 161–168, doi:10.1007/978-3-642-12630-7_19, ISBN978-3-642-12629-1
  5. ^cURL — Changes
  6. ^'FFmpeg Documentation'. The FFmpeg project. September 11, 2012. Section 20.19. Retrieved 2012-09-11.

External links[edit]

  • 'Real Time Streaming Protocol Information and Updates'. Archived from the original on 2007-03-06., a central information repository about RTSP.
  • 'Tunnelling RTSP and RTP through HTTP'. Archived from the original on 2013-05-01., A standard solution to help RTSP work through firewalls and web proxies
  • 'Managed Media Aggregation using Rtsp and Rtp', Walks a developer through the implementation of a standards compliant RtspClient and RtspServer.
Windows
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Real_Time_Streaming_Protocol&oldid=983633922'

Here is a list of the accepted projects for the Google Summer of Code 2007.

  • 1List of current projects

List of current projects

Advanced subtitle support for VLC

  • Project page: Advanced Subtitle Support
  • Student: Philip David Lamparter
  • Mentor: Sigmund Augdal
  • Abstract:
Nowadays, with international shipping and multi-cultural nations, an increasing number of people prefers to watch videos with the original audio track. However, since most people wouldn't be fluent with all the source languages they come across, subtitles are in widespread use to overcome this.
The set of subtitling formats supported by the VLC player currently covers simple formats. One of the rather widely used formats, SSA/ASS, is not properly supported though - probably due to its capabilities for advanced styling, animation effects, and even drawing commands.
My goal for this Summer of Code project is to provide VLC with rendering capabilities for this format. Ultimately, I'm desiring 99% compatibility with what's considered the reference for it: the Windows renderer 'VSFilter'.
To achieve this goals, I already started implementing a standalone filter for this purpose, called asa. Therefore, a rough outline of my plans is:
1. Create bindings between VLC and asa.
2. Fix the remaining bugs and missings in asa.
3. Look for and cover extended usage cases in both VLC and asa (subtitle picture streaming, drawing mode, OpenType glyph substitution support)

VLC Mac OS X Framework Implementation

  • Project page: Mac OS X Framework
  • Student: Pierre d'Herbemont
  • Mentor: Felix Paul Kühne
  • Abstract:
Mac Os X Rtsp Player
Proposition: Write a Cocoa Mac OS X (and possibly GNUStep) Framework that would serve as a foundation to the 2 differents Mac OS X VLC binaries.
Those binaries are the standard VLC.app executable, and the VLC web browser plugin.
This Framework could also be used as a library for other applications that need a video output.

Matroska Muxer for VLC

  • Project page: Matroska Muxer
  • Student: Hugo de Jesús Garza Gómez
  • Mentor: Steve Lhomme
  • Abstract:
In recent years the digital video industry has seen a boom in the number of users; thanks originally to the DVD for bring digital video in mass quantities, but more recently to innovative websites such as YouTube and peer to peer applications where users can share their videos. The reason that these applications are successful is because their users use a standard container for video files which for years has been the AVI container. However as time went on the AVI container was outgrown by the rapid pace of change and the needs of the consumer. To satisfy these needs new containers were created with more features such as menus, chapters, and multiple audio streams.
The AVI format was originally created by Microsoft as an extension to the RIFF format for its video for windows technology thus establishing it as the standard format for distributing video files. In recent years newer audio and video codecs have been released which brought to light many deficiencies in the AVI format. As a solution to this problem the matroska container was created to be an opensource flexible and cross-platform Audio/Video container format. In order to play matroska streams it is necessary to use a media player capable of reproducing them, such as VLC by the VideLAN project. VLC is a cross-platform media player, but is unique in that it supports a large number of multimedia formats without the need for additional codecs. One of the major strength of VLC is also that it can receive and broadcast videos streams, which is where Matroska could find a new use.
The proposal for this project is to create a matroska muxer for the VLC media player in C++ using the libmatroska library which would allow the creation of new matroska streams and modification of existing streams. The muxer would support various audio/video codecs and most of the features of the matroska spec: multiple audio streams and multiple subtitles.

RTSP Streaming Server in VLC

  • Project page: RTSP Streaming Server
  • Student: Sourav Pal
  • Mentor: Jean-Paul Saman
  • Abstract:
The main goal as mentioned in the project listing is to enable VLC with RTCP features, interleave RTP stream over RTSP when firewall is encountered, perform rtsp tunneling over http and perform per account options. If time permits follow-up with a performance evaluation of the streaming server code and pinpoint bottleneck issues.

Fullscreen Controller and Advanced Subtitle Support on VLC media player

  • Project page: Fullscreen Controller and Advanced Subtitle Support
  • Student: Richard Guo
  • Mentor: Yoann Peronneau
  • Abstract:

Mac Os X Update

VLC is known as a lightweight media player that shines in playing files regardless of format. However, its UI is underdeveloped in comparison to competitors. While a revamped UI might not be first and foremost on the developers' minds, adding a basic control interface in fullscreen mode would greatly enhance VLC's adoption.
From a usability standpoint, it is a hassle for users to exit fullscreen mode just to operate the controls controlling pause, play, fast forward, and the position of playback. Power users and developers usually have customized keybindings for use in fullscreen mode, but the vast majority of users expect a controller in fullscreen mode. Moreover, it is inconsistent to support fullscreen controls on the Mac OSX version but not on *nix or Windows.
The second proposal concerns displaying and rendering subtitles. VLC's current subtitle capabilities is rather rudimentary. Work on this aspect of VLC will consist of three parts: detection of subtitle streams (either with DVD input on disc or in a file in the same directory as the video), automated parsing (must handle all formats and errors in syntax), and display (smart rendering, advance rendering, positioning, size, shape, font, colour, HTML tags, etc.).

Audio Extensions for VLC media player

  • Project page: Audio Extensions
  • Student: Biodun Osunkunle
  • Mentor: Derk-Jan Hartman
  • Abstract:
The VLC media player's audio post processing capabilities can be improved. Currently, preset equalizer values, an option for a graphic equalizer with the extended GUI, and a headphone virtualization option.
The goal of this project is to extend these audio capabilities to include such features as Dolby Prologic 2 like features, (psycho acoustic audio processing), and other effects such as artificial reverberation.

Overlay Video Filter for VLC

  • Project page: Dynamic Video Overlays
  • Student: Søren Bøg
  • Mentor: Antoine Cellerier
  • Abstract:
The goal for this project to develop a video filter for VLC to allow third party applications to overlay static and dynamic alpha-blended images ontop of a VLC video. The idea here is to provide VLC with a video filter that is comparable to what bmovl and bmovl2 provide for MPLayer. What that is, is a video filter that enables third party applications to get access to a piece of shared memory or similar, in which the third party application can draw something. The third party application can then notify VLC that the shared memory has been updated, and VLC will then composite the image into subsequent frames.


VideoLANGoogle Summer of Code (GSoC/SoC) mentoring projects
2007 • 2008 • 2009 • 2010 • 2011(GCi 2011 • SOCIS x264 2011)20122013 • 2016 • 2017 • 2018 • 2019

Mac Os X Rtsp Player For Windows Xp

Retrieved from 'https://wiki.videolan.org/index.php?title=SoC_2007_projects&oldid=57543'