= Release test for Wowza Streaming Server plugin for Kulturarvsportalen = == Context == The Wowza plugin has the following areas of responsibilities: 1. '''Authentification''' - Validate that a user is allowed to get a file streamed. 1. '''Locating streaming files''' - Locate the folders where the streaming files reside. 1. '''Start live streaming processes''' - Start a VLC process that streams video to a port, that Wowza forwards to a user. 1. '''Log usage statistics''' - Not yet implemented. These are done in three different settings: 1. ''rtmp:///kultur'' - Streaming of a tv program with user authentification. 1. ''rtmp:///kultur_live'' - Live streaming of a tv program that is being transcodea with user authentification. 1. ''rtmp:///kultur_preview'' - Streaming of a preview video of a tv program. == Prerequisites == In order to execute this test, the following prerequisites must be met: 1. Address of Ticket Issuer, ie. ''http://alhena:7880/authchecker-service/tickets'' 1. Address of streaming server, ie. ''rtmp://iapetus:1935'' 1. Source code of Wowza Streaming Server plugin checked out 1. Path to Wowza streaming server jar library 1. IP-address of client machine 1. Shard URL of streaming file. 1. SSH access to the Wowza server == How to issue tickets == 1. Edit the file ''/scripts/getTicket.sh'' and insert the information needed. Ie. {{{ #Location of Wowza's jar files on local machine WOWZA_LIB=../build-libs/wowza/jars/* TICKET_SERVER=http://alhena:7880/authchecker-service/tickets #IP-address of client machine: USERNAME=172.18.224.234 RESOURCE=http://www.statsbiblioteket.dk/doms/shard/uuid:a0639529-124a-453f-b4ea-59f833b47333 ORGANIZATION_ID=au.dk USER_ID=1x1 CHANNEL_ID=tv2news PROGRAM_TITLE=Nyheder PROGRAM_START=2007-03-04T00:00:00+0100 STREAMING_SERVER=rtmp://iapetus:1935 FILENAME=Seinfeld.flv #Check that the preview file exists on the server: PREVIEW_FILENAME=0/d/0/c/0d0cb165-7469-4456-8f1e-06c79d026d40.preview.flv}}} 1. Execute script that issues a ticket{{{ cd /scripts ./getTicket.sh}}} 1. The console window now shows URL and text. The strings can be copy-pasted into the SimpleVideoStreaming browser client. == Tests == === Streaming video === Test the functionality of the wowza application rtmp:///kultur ==== Test that streaming a video is succesful ==== 1. Issue a new ticket 1. Insert value for [Kultur] part of URL's into simplevideostreaming.html a. Check that video is played. a. Check that an entry has been added to the log file: /home/wowza/logs/streamingStatistics/StreamingStat-.log ==== Test that an invalid ticket result in rickroll video ==== 1. Change a character in the ticket id of the previously used server-url a. Check that the rick roll video is shown a. Check that an entry has been added to the log file: /home/wowza/logs/streamingStatistics/StreamingStat-.log === Live Streaming video === Test the functionality of the wowza application rtmp:///kultur_live ==== Test that live streaming a video is succesful ==== 1. Issue a new ticket 1. Insert value for [kultur_live]---[valid] part of URL's into simplevideostreaming.html a. Check that video is played. a. Check that an entry has been added to the log file: /home/wowza/logs/streamingStatistics/StreamingStat-.log ==== Test that an invalid ticket result in live rickroll video ==== 1. Insert value for [kultur_live]---[invalid] part of URL's into simplevideostreaming.html a. Check that the rick roll video is played. a. Check that an entry has been added to the log file: /home/wowza/logs/streamingStatistics/StreamingStat-.log === Streaming of preview videos === Test the functionality of the wowza application rtmp:///kultur_preview ==== Test streaming of a preview video ==== 1. Make sure the preview file from getTicket.sh exists on server 1. Insert value for [kultur_preview] part of URL's into simplevideostreaming.html a. Check that video is played. === Streaming statisctics === Test the functionality of the streaming statistics script for reading a log file and present overall numbers. ==== Test streaming stat script ==== 1. From the virtual host on the server, run the script (exchange dates):{{{ ./streaming_statistics.sh /home/wowza/logs/ 2011-04-01 2011-05-01}}} a. Check that the output has logged the programs streamed in this test a. Check the log file for errors {{{StreamingStatExtractor-YYYY-MM-DD.log}}}