an easy and consistent way of installing software ported to FreeBSD
Darwin Streaming Server is server technology which allows you to send
streaming QuickTime data to clients across the Internet using the industry
standard RTP and RTSP protocols. It is based on the same code as Apple's
QuickTime Streaming Server.
WWW: http://developer.apple.com/darwin/projects/streaming/
#!/bin/sh
# $FreeBSD: ports/net/DarwinStreamingServer/pkg-install,v 1.1 2004/02/02 17:50:20 nork Exp $
PATH=/bin:/usr/sbin
case $2 in
PRE-INSTALL)
USER=qtss
GROUP=${USER}
UID=554
GID=${UID}
if pw group show "${GROUP}" 2>/dev/null; then
echo "You already have a group \"${GROUP}\", so I will use it."
else
if pw groupadd ${GROUP} -g ${GID}; then
echo "Added group \"${GROUP}\"."
else
echo "Adding group \"${GROUP}\" failed..."
exit 1
fi
fi
if pw user show "${USER}" 2>/dev/null; then
echo "You already have a user \"${USER}\", so I will use it."
else
if pw useradd ${USER} -u ${UID} -g ${GROUP} -h - \
-d /noexistant -c "Darwin Streaming Server"
then
echo "Added user \"${USER}\"."
else
echo "Adding user \"${USER}\" failed..."
exit 1
fi
fi
;;
esac
===============================================================================
* IMPORTANT SETUP NOTICE * IMPORTANT SETUP NOTICE *
o Set up DSS Administrator Username/Password.
$Username$ is an account for DSS Administration, e.g. admin, root, etc...
# qtpasswd -c $Username$
# echo admin: $Username$ > %%PREFIX%%/etc/streaming/qtgroups
NOTICE: qtpasswd will create new file with -c option. Please
see also `qtpasswd -h'(mostly same as htpasswd).
NOTICE: qtgroups file will contain user(s) separated by white space
of group(s).
o Set up SSL for DSS Administration Tool (If you need)
Install your SSL Keys to %%PREFIX%%/etc/streaming/
streamingadminserver.key: SSL Private key
streamingadminserver.pem: SSL Public key
o Boot DSS Administration Tool
# echo 'streamingadminserver_enable="YES"' >> /etc/rc.conf
# cd /; env - %%PREFIX%%/etc/rc.d/streamingadminserver.sh start
(*NOTE*)Darwin Streaming Server will run together.
o Set up DSS Administration Tool with MSIE(Microsoft Internet Explorer)
Mozilla, Netscape4/7 and Opera etc... are not useful. DSS Administration
Tool requires MSIE(4.5 and later) J-Script feature.
http://YOUR.STREAMING.SERVER:1220/
If you need SSL, select 'Secure Administration (SSL)' in this setup.
After setup, you can access to
https://YOUR.STREAMING.SERVER:1240/
===============================================================================
Related directories
%%PREFIX%%/etc/streaming - DSS Configuration Directory
%%PREFIX%%/share/DarwinStreamingServer/movies - *Default* Movies Directory
/var/log/streaming - DSS Streaming Log Directory
/var/spool/streaming.playlists - DSS Playlists Directory
===============================================================================
If you want to invoke only Darwin Streaming Server from start-up, put
following lines into /etc/rc.conf.
darwin_streaming_server_enable="YES"
darwin_streaming_server_flags=""
If you want to invoke DSS Administration Tool and Darwin Streaming
Server from start-up, do too.
streamingadminserver_enable="YES"
streamingadminserver_flags=""
===============================================================================
bin/qtpasswd
bin/MP3Broadcaster
bin/PlaylistBroadcaster
sbin/DarwinStreamingServer
sbin/streamingadminserver.pl
libexec/StreamingServerModules/QTSSRefMovieModule
libexec/StreamingServerModules/QTSSHomeDirectoryModule
@exec mkdir %D/%%DATADIR%% 2>/dev/null || true
@exec mkdir %D/%%DATADIR%%/movies 2>/dev/null || true
%%DATADIR%%/readme.txt
%%DATADIR%%/3rdPartyAcknowledgements.rtf
%%DATADIR%%/AdminHtml/MapUTF.pl
%%DATADIR%%/AdminHtml/access_log.html
%%DATADIR%%/AdminHtml/adminprotocol-lib.pl
%%DATADIR%%/AdminHtml/broadcaster_lib.pl
%%DATADIR%%/AdminHtml/broadcaster_settings.html
%%DATADIR%%/AdminHtml/cgi-lib.pl
%%DATADIR%%/AdminHtml/change_broadcast_password.html
%%DATADIR%%/AdminHtml/change_mp3_password.html
%%DATADIR%%/AdminHtml/change_password.html
%%DATADIR%%/AdminHtml/change_password_redirect.html
%%DATADIR%%/AdminHtml/confirm.html
%%DATADIR%%/AdminHtml/connected.html
%%DATADIR%%/AdminHtml/error_log.html
%%DATADIR%%/AdminHtml/format.html
%%DATADIR%%/AdminHtml/frameset.html
%%DATADIR%%/AdminHtml/general_settings.html
%%DATADIR%%/AdminHtml/html_en/genres
%%DATADIR%%/AdminHtml/html_en/messages
%%DATADIR%%/AdminHtml/images/LB_arrow_dn.gif
%%DATADIR%%/AdminHtml/images/LB_arrow_up.gif
%%DATADIR%%/AdminHtml/images/apple_logo.gif
%%DATADIR%%/AdminHtml/images/arrow_down.gif
%%DATADIR%%/AdminHtml/images/back.gif
%%DATADIR%%/AdminHtml/images/blackpixel.gif
%%DATADIR%%/AdminHtml/images/clearpixel.gif
%%DATADIR%%/AdminHtml/images/dialog_alert.gif
%%DATADIR%%/AdminHtml/images/dialog_bottom.gif
%%DATADIR%%/AdminHtml/images/dialog_bottom_sm.gif
%%DATADIR%%/AdminHtml/images/dialog_middle.gif
%%DATADIR%%/AdminHtml/images/dialog_middle_sm.gif
%%DATADIR%%/AdminHtml/images/dialog_qtss.gif
%%DATADIR%%/AdminHtml/images/dialog_side.gif
%%DATADIR%%/AdminHtml/images/dialog_top.gif
%%DATADIR%%/AdminHtml/images/dialog_top_sm.gif
%%DATADIR%%/AdminHtml/images/divider.gif
%%DATADIR%%/AdminHtml/images/divider_vert.gif
%%DATADIR%%/AdminHtml/images/dot.gif
%%DATADIR%%/AdminHtml/images/folder.gif
%%DATADIR%%/AdminHtml/images/greypixel.gif
%%DATADIR%%/AdminHtml/images/headerpixel.gif
%%DATADIR%%/AdminHtml/images/help.gif
%%DATADIR%%/AdminHtml/images/highlight.gif
%%DATADIR%%/AdminHtml/images/horz_line.gif
%%DATADIR%%/AdminHtml/images/icon_alert.gif
%%DATADIR%%/AdminHtml/images/icon_doc.gif
%%DATADIR%%/AdminHtml/images/icon_error.gif
%%DATADIR%%/AdminHtml/images/icon_folder.gif
%%DATADIR%%/AdminHtml/images/icon_generic.gif
%%DATADIR%%/AdminHtml/images/icon_group.gif
%%DATADIR%%/AdminHtml/images/icon_movie.gif
%%DATADIR%%/AdminHtml/images/icon_movie_off.gif
%%DATADIR%%/AdminHtml/images/icon_playlist.gif
%%DATADIR%%/AdminHtml/images/icon_playlist_off.gif
%%DATADIR%%/AdminHtml/images/icon_start_playlist.gif
%%DATADIR%%/AdminHtml/images/icon_stop_playlist.gif
%%DATADIR%%/AdminHtml/images/icon_user.gif
%%DATADIR%%/AdminHtml/images/invis_dragcover.gif
%%DATADIR%%/AdminHtml/images/line.gif
%%DATADIR%%/AdminHtml/images/link.gif
%%DATADIR%%/AdminHtml/images/link_disabled.gif
%%DATADIR%%/AdminHtml/images/mp3_file.gif
%%DATADIR%%/AdminHtml/images/nav_help.gif
%%DATADIR%%/AdminHtml/images/nav_logo.gif
%%DATADIR%%/AdminHtml/images/nav_logo_small.gif
%%DATADIR%%/AdminHtml/images/pixel.gif
%%DATADIR%%/AdminHtml/images/scroll_arrow_down.gif
%%DATADIR%%/AdminHtml/images/scroll_arrow_up.gif
%%DATADIR%%/AdminHtml/images/scroll_bg.gif
%%DATADIR%%/AdminHtml/images/scroll_bg_inactive.gif
%%DATADIR%%/AdminHtml/images/scroll_thumb.gif
%%DATADIR%%/AdminHtml/images/sort_arrow.gif
%%DATADIR%%/AdminHtml/images/sort_arrow_desc.gif
%%DATADIR%%/AdminHtml/images/spacer.gif
%%DATADIR%%/AdminHtml/images/stripes_gray.gif
%%DATADIR%%/AdminHtml/images/stripes_gray_dark.gif
%%DATADIR%%/AdminHtml/images/trashcan.gif
%%DATADIR%%/AdminHtml/images/vert_line.gif
%%DATADIR%%/AdminHtml/images/weight_up_arrow.gif
%%DATADIR%%/AdminHtml/images/whitepixel.gif
%%DATADIR%%/AdminHtml/images/wieght_down_arrow.gif
%%DATADIR%%/AdminHtml/includes/DarwinListbox.js
%%DATADIR%%/AdminHtml/includes/draglib.js
%%DATADIR%%/AdminHtml/includes/encode_unicode.js
%%DATADIR%%/AdminHtml/includes/standardNav.js
%%DATADIR%%/AdminHtml/index.html
%%DATADIR%%/AdminHtml/listbox.html
%%DATADIR%%/AdminHtml/listbox2.html
%%DATADIR%%/AdminHtml/log_settings.html
%%DATADIR%%/AdminHtml/login.html
%%DATADIR%%/AdminHtml/nav.html
%%DATADIR%%/AdminHtml/parse_xml.cgi
%%DATADIR%%/AdminHtml/password-utils.pl
%%DATADIR%%/AdminHtml/playlist-lib.pl
%%DATADIR%%/AdminHtml/playlist_detail.html
%%DATADIR%%/AdminHtml/playlist_error_log.html
%%DATADIR%%/AdminHtml/playlists.html
%%DATADIR%%/AdminHtml/ports.html
%%DATADIR%%/AdminHtml/relay.html
%%DATADIR%%/AdminHtml/relay_details.html
%%DATADIR%%/AdminHtml/relay_details_default.html
%%DATADIR%%/AdminHtml/relay_status.html
%%DATADIR%%/AdminHtml/relay_targets.html
%%DATADIR%%/AdminHtml/relayxmlparser.pl
%%DATADIR%%/AdminHtml/restart_broadcaster.html
%%DATADIR%%/AdminHtml/setup_assistant.html
%%DATADIR%%/AdminHtml/setup_assistant2.html
%%DATADIR%%/AdminHtml/setup_assistant3.html
%%DATADIR%%/AdminHtml/setup_assistant4.html
%%DATADIR%%/AdminHtml/setup_assistant5.html
%%DATADIR%%/AdminHtml/start_broadcaster.html
%%DATADIR%%/AdminHtml/start_server.html
%%DATADIR%%/AdminHtml/startplaylists.pl
%%DATADIR%%/AdminHtml/tag_formats.pl
%%DATADIR%%/AdminHtml/tag_types.pl
%%DATADIR%%/AdminHtml/tag_vals.pl
%%DATADIR%%/AdminHtml/template.html
%%DATADIR%%/AdminHtml/template_blank.html
%%DATADIR%%/AdminHtml/top.html
%%DATADIR%%/AdminHtml/users.html
%%DATADIR%%/AdminHtml/view_broadcast.cgi
%%DATADIR%%/AdminHtml/welcome.html
%%DATADIR%%/movies/sample.mp3
%%DATADIR%%/movies/sample_100kbit.mov
%%DATADIR%%/movies/sample_100kbit.mp4
%%DATADIR%%/movies/sample_300kbit.mov
%%DATADIR%%/movies/sample_300kbit.mp4
%%DATADIR%%/movies/sample_50kbit.3gp
%%DATADIR%%/movies/sample_h264_100kbit.mp4
%%DATADIR%%/movies/sample_h264_1mbit.mp4
%%DATADIR%%/movies/sample_h264_300kbit.mp4
etc/streaming/qtusers-dist
etc/streaming/qtgroups-dist
@unexec if cmp -s %D/etc/streaming/relayconfig.xml %D/etc/streaming/relayconfig.xml-dist; then rm -f %D/etc/streaming/relayconfig.xml; fi
etc/streaming/relayconfig.xml-dist
@exec [ ! -f %B/relayconfig.xml ] && cp %B/%f %B/relayconfig.xml
@unexec if cmp -s %D/etc/streaming/streamingserver.xml %D/etc/streaming/streamingserver.xml-dist; then rm -f %D/etc/streaming/streamingserver.xml; fi
etc/streaming/streamingserver.xml-dist
@exec [ ! -f %B/streamingserver.xml ] && cp %B/%f %B/streamingserver.xml
@dirrm %%DATADIR%%/AdminHtml/includes
@dirrm %%DATADIR%%/AdminHtml/images
@dirrm %%DATADIR%%/AdminHtml/html_en
@dirrm %%DATADIR%%/AdminHtml
@dirrmtry %%DATADIR%%/movies
@dirrmtry %%DATADIR%%
@dirrmtry libexec/StreamingServerModules
@exec mkdir %D/libexec/StreamingServerModules 2>/dev/null || true
@dirrmtry etc/streaming
@unexec rmdir /var/spool/streaming.playlists 2>/dev/null || true
@exec mkdir /var/spool/streaming.playlists 2>/dev/null || true
@exec chown -Rh qtss:qtss /var/spool/streaming.playlists
@unexec rmdir /var/log/streaming 2>/dev/null || true
@exec mkdir /var/log/streaming 2>/dev/null || true