Menu

Monthly Archives: September 2015

SMP3 runs on Tomcat, and therefore inherits its basic configuration from Tomcat. One of these is the session timeout parameter. By default, timeout is set to 20 minutes. Depending on your requirements this can be too short or too long. Changing the value is easy as you only have to change one parameter in one file and restart SMP3 to make the change take effect. The procedure is outlined at SAP Help.

The file to be changed is the Tomcat configuration file that can be found at: <SMP_HOME>\Server\config_master\org.eclipse.gemini.web.tomcat\web.xml.

The SIT Brazil events offer a special service: videos. We do stream the videos during the event live and record them for on demand. For this to work I have set up architecture to support everyone involved: on site team, server team and the end user. The videos are recorded for later processing to publish them in high quality in our YouTube channel.

WHY?

Our goal is to make the access to SAP related knowledge as easy as possible. In case you cannot join the event IRL, you can assist the session live and in high quality. In case you are at work and your corporate proxy blocks YouTube, you can assist the stream via the event app, or the event site. For later best is to use Safari, but VLC can also show you the stream. In case you cannot assist the event live, we`ll publish the session after a few days of processing them, adding the slides to the video, to YouTube. Who knows, maybe one day we will also offer the vídeos for download, together with the slides.

ARCHITECTURE

The software involved in the process is:

OBS: Capturing the video, save it locally and send it to my NGINX server

NGINX with RMTP: receiving the video from OBS and process it to the further channels: YouTube and HLS.

YouTube: YouTube live event. Streams the received video to the web.

HSL: Prepares the received video for HLS. This is done by using FFMPEG.

App: event app that connects to the HLS stream via HTTP.

Browser: connects to the HLS stream via the web version of the event site or to YouTube.

Several software components have to communicate with each other, on different protocols and ports, making it sometimes a challenge to set it up on site. To simplify to whole process, a central server hosted at AWS serves as receiver and distribution point to our channels. We only have to communicate with one server, and still can offer the stream in several formats. NGINX server is accessible under its own DNS name. Many companies do not like to give access to YouTube, and it is easier to get them open a port than YouTube.

OBS SETTINGS

AUDIO AND VIDEO

BROADCAST

FMS URL: the server URL of NGINX.

Play Path: defines the name of the stream for internal handling at NGINX

File Path: location where the stream is saved locally for later processing, etc.

STREAMING PROCESS

Easy. Once OBS is started, the input sources selected, we add some UI magic for branding and the stream is started. The target is the NGINX server in the cloud, the protocol and port is RMTP.

NGINX SETTINGS

For the NGINX setup to work, I had to add the RMTP add-on. For this, I downloaded NGINX from git + the rmtp add-on and compiled the software. That`s easy to do:

./configure

Make

Make install

Afterwards it is adjusting the configuration of NGINX, easily done using the attached file as a template: nginx.conf

What is the process flow in NGINX? The configuration file has a two room’s setup. One OBS can send its stream to one room only. To serve the stream of two rooms, two OBS setups are needed, while the same NGINX server can be used.

OBS1 -> /src/<key>

From there, NGINX pushes the stream to YouTube and to HLS. HLS is configured to make the stream available under /hls/roomN/<key>. The quality of the stream is only limited by the camera and upload bandwidth onsite.

In case the setup program can connect to the DB server, it will show a list of databases available to the user. Select the Afaria DB. In case an error occurs, check with one of the previous blogs on how to solve this issue.

The upgrade of the API service and administrator console is listed as one step, but will be executed as two steps:

1st the API service and directly afterwards the

Administrator console

As both are bound together, you cannot install the admin console separately. As the API service is installed first, you can upgrade the API service and not the admin console. This should not be done! Run the installation and update both at once.

SAP Afaria API Service

Start the installation

Select DB

Keep account information

Installation finishes

Select if you want to start the services. If you want to continue with the installation, do not start them now. The installation will now continue with the Afaria Admin setup.

SAP Afaria Administration

Keep account information

Select how the admin user will authenticate. Here I am using my Active Directory.

Either way, you`ll have to configure the LDAP URL Afaria will use to authenticate the user.

Start the Afaria Server update. First agree to the license agreement, of course, only when you have read the license and agree to it.

Afaria server update starts. First the currently running server service is stopped.

The setup program will stop the Afaria services. In case this is not possible, you are asked to do it manually or to restart the computer. In case the services are stopped successfully, the setup will start the Afaria Server installation.

Select DB server type

Select host where the DB server is running on and how to log on to the DB.

At this step, while testing the DB connection, I got an error message. The installer cannot connect to the Afaria DB. In my case, this was solved by starting the MSSQLServer process (for some reasons, SQL Server wasn`t started anymore).

Error: No connection to DB

Solution: Start SQL Server

Select the Afaria DB.

Confirm installation path

Confirm service account credentials

Start installation

This can take a while …

Installation finishes

Select if you want to start the services. If you want to continue with the installation, do not start them now.

When you install Afaria 7 or access it the first time, it`s likely that you`ll get into some problems. I`ve collected here some more or less common issues that you may face.

IIS ASP.NET error 500.21

When you access the Afaria web site, you get a IIS error (500.21). The error message suggests that maybe ASP.NET is not installed. The web site worked before and most probably you upgraded your Afaria server.

What you can do is to re-register ASP.NET. For this issue the command aspnet_regiis.

Command: aspnet_regiis.exe -i

Basically this will reinstall ASP.NET. Hopefully this fixes the IIS error.

SQL Server connection error

Another “common” error is that Afaria cannot connect to SQL Server.

The error message indicates that SQL Server is not accepting or listening on the configured port (anymore). To see what is going on, open the SQL Server Configuration Manager

Check if TCP protocol is enabled. If not, enable TCP

Check the IP address. If Afaria is running on the same server, 127.0.0.1 is sufficient to be activated and listening.

If the error still persists, check the client. Enable the 64 bit native client

Create a new alias

Now Afaria should be able to connect to SQL Server using TCP and port 1433 in a 64 bit environment.

After doing the changes, either you have to restart SQL Server to make the changes active or you can simply do so to be on the save side.