Darwin streamer is Apple's open-source RTSP server. It adopts the apsl (Apple public source license) License Agreement and can be used commercially for free.
1. Download and install
The latest version 6.0.3 only provides source code and binary files on Mac OS, and vs cannot be compiled on Windows. So use 5.5.5 version DarwinStreamingSrvr5.5.5-Windows.exe unzipping the downloaded file, execute install. bat in the directory to install, the installation process will provide the input administrator user name and password, you can also set after the installation is complete. You also need to install the Perl parser, download: http://downloads.activestate.com/ActivePerl/releases/5.14.2.1402/ActivePerl-5.14.2.1402-MSWin32-x86-295342.msi 2. Management Configuration open cmd set administrator user name and password:
C:\Program Files\Darwin Streaming Server>perl WinPasswdAssistant.plDarwin Streaming Server SetupIn order to administer the Darwin Streaming Server you must create an administrator user [Note: The adminPlease enter a new administrator user name: gavinYou must also enter a password for the administrator user [Note: The administrator password cannot contaiPlease enter a new administrator Password: 123456Re-enter the new administrator password: 123456Setup Complete!
Start the Web server c: \ Program Files \ Darwin Streaming Server> Perl streamingadminserver for server management. PL now enters http: // 127.0.0.1: 1220/in the browser. The logon management interface is displayed. During remote logon, you must verify that the account is in the management interface. On the general settings page, set the video file storage directory, default Value: C: \ Program Files \ Darwin Streaming Server \ movies use ffplay to test the streaming test of the built-in example ffplay rtsp: // 192.168.9.80/sample_300kbit.mp43.mp4 file, only the example files that come with Darwin can be played *. MP4 files cannot be played. Google found that the MP4 File hint is required. There is an English explanation for hint:
Hint tracks are a series of instructions in a mp4 container file that tell a server how to transmit packets. Hint tracks always refer to another track, most likely an audio or video media track. This series of instructions tells the server when to send the packet, what type of RTP header to add, if there is any extra data in the packet, and how much data to send in the packet. To save on space, a hint can contain a pointer to the media track, instead of duplicating that data. It will also tell what SDP to add for the track that is referenced. So a file that is hinted should have a media track, and an associated hint track for that media track. There are some mp4 container files that just have hint tracks - these are called "fat hints" and are usually not playable locally. These are illegal in ISMA, so we won 't talk about them.
Hint is the track in the MP4 file, which contains the information used by RTP transmission. In fact, it is used to create an index. Mp4box can be used to stream MP4 files on the internet, http://www.videohelp.com/tools/mp4box. Mp4box supports conversion and other operations of multiple file formats, such as 3GP, MP4, Avi, and MP3. However, mp4box does not support transcoding. For details, see http://gpac.wp.20.ut-telecom.fr/mp4box/mp4box-documentation /. However, the last tragedy was found wrong:
F:\Video>mp4box -hint 3.mp4Hinting file with Path-MTU 1450 BytesCannot create hinter (Feature Not Supported) Error: Feature Not Supported
Again found a tool named mp4creator, http://mp4creator.sourceforge.net/download/index.htm
F: \ video> mp4creator-list gucci.mp4 track type info1 video h264 baseline @ 3, 24.920 secs, 2407 kbps, 800x608 @ 25.000000 fps2 audio MPEG-4 aac lc, 24.938 secs, 126 kbps, 44100 HZF: \ video> mp4creator-hint gucci.mp4 mp4error: findtrackindex: track ID 0 doesn't existmp4creator: couldn't create hint track, no media samples Error !!! Try hintf: \ video> mp4creator-hint = 1 gucci.mp4 mp4error: mp4file: findintegerproperty: no such property-moov for a single orbit. trak [0]. mdia. minf. stbl. STSD. *. ESDs. decconfigdescr. objecttypeidmp4error: mp4file: findintegerproperty: no such property-moov. trak [2]. mdia. minf. stbl. STSD. *. ESDs. decconfigdescr. objecttypeidf: \ video> mp4creator-list gucci.mp4 track type info1 video h264 baseline @ 3, 24.920 secs, 2407 kbps, 800x608 @ 25.000000 fps2 audio MPEG-4 aac lc, 24.938 secs, 126 kbps, 44100 hz3 hint payload h264 for track 1 although there is an error message during the hint process, the hint track F: \ video> mp4creator-hint = 2 gucci.mp4 mp4error is successfully added: mp4file: findintegerproperty: no such property-moov. trak [0]. mdia. minf. stbl. STSD. *. ESDs. decconfigdescr. objecttypeidmp4error: mp4file: findintegerproperty: no such property-moov. trak [2]. mdia. minf. stbl. STSD. *. ESDs. decconfigdescr. objecttypeidmp4error: mp4file: findintegerproperty: no such property-moov. trak [3]. mdia. minf. stbl. STSD. *. ESDs. decconfigdescr. objecttypeidf: \ video> mp4creator-list gucci.mp4 track type info1 video h264 baseline @ 3, 24.920 secs, 2407 kbps, 800x608 @ 25.000000 fps2 audio MPEG-4 aac lc, 24.938 secs, 126 kbps, 44100 hz3 hint payload h264 for Track 14 hint payload mpeg4-generic for Track 2
Only hint can be performed on the audio and video tracks. The error message does not understand the cause. However, after being tested with vlc2.0, the converted video can be played normally. However, there are problems when using ffplay and mplay for playback. Mp4creator has many other functions, including the following usage information: F: \ video> mp4creator
Usage: mp4creator <Options> <mp4-file>
Options:
-AAC-old-file-format use old file format with 58 bit ADTs Headers
-AAC-profile = [2 | 4] force AAC to MPEG2 or MPEG4 Profile
-Allow-Avi-files allow AVI Files
-Calch263bitrates calculate and add bitrate Information
-Create = <input-File> Create track from <input-File>
Input files can be of Type:. 263. AAC. AC3. Amr. MP3. DivX. mp4v. m4v. CMP. XviD. Chap
-Encrypt [= <track-ID>] encrypt a track, also-e
-Extract = <track-ID> extract a track
-Delete = <track-ID> delete a track
-Force3gpcompliance force making the file 3GP compliant. This disables Isma compliance.
-Forceh263profile = <profile> force using H.263 profile <profile> (default is 0)
-Forceh263level = <level> force using H.263 level <level> (default is 10)
-H263cbrtolerance = <value> define H.263 CBR tolerance of [value] (default: 10%)
-Hint [= <track-ID>] Create hint track, also-H
-Interleave use interleaved audio payload format, also-I
-List list tracks in MP4 File
-Make-isma-10-compliant insert BIFS and OD tracks required for some Isma players (also-I)
-Mpeg4-video-profile = <level> MPEG4 Video profile override
-MTU = <size> maximum payload size for RTP packets in hint track
-Optimize MP4 File Layout
-Payload = <payload> RTP payload type
(Use 3119 or MPA-robust for MP3 RFC 3119 Support)
-Rate = <FPS> video frame rate, e.g. 30 or 29.97
-QTH = -Qtw = <width> set a new width for QuickTime display
-Timescale = <ticks> time scale (ticks per second)
-Use64bits use for large files
-Use64bitstime use for 64 bit times (not QT Player compatible)
-Variable-frame-rate enable Variable Frame Rate for MPEG4 Video
-Verbose [= [1-5] Enable debug messages
-Version display version information