Getting Started Guide
Updated: May 6, 2020
What is Moco?
Moco Compliance Monitoring by SnapStream (Moco) is a powerful enterprise-ready hardware and software solution for your broadcasting monitoring and compliance needs, including the CALM act. Built off of SnapStream’s proven platform you can also take advantage of the clipping engine and workflow automation.
How to Get Help
You can take advantage of SnapStream support resources to help answer any question you may have or to assist you in solving any problems you may encounter with the SnapStream Moco solution.
- SnapStream Support Home Page: www.snapstream.com/support
- Search Knowledge Articles and Request Support Help: https://support.snapstream.com
- Email Support: email@example.com
- Call Support: +1 (877) 696-3674 or +1 (713) 554-4560
Note that SnapStream Support technical personnel may request remote access to your systems in order to analyze, diagnose, or make configuration changes. Our preferred remote access software is LogMeIn Rescue.
SnapStream’s Moco systems run Windows Server operating systems with the software requiring use of Windows services such as IIS, .NET, and SQL Server. Tuner capture cards are provided so that you can connect various input video sources including ATSC, SDI, or ATSC. Note that SDI capture card capabilities are planned for the 10.1 release.
Depending on your system model, the included media storage may be configured as RAID1, RAID5, or RAID6.
Hardware and Power Requirements
SnapStream Moco hardware systems are server-class systems with redundant power supplies designed to be housed in a data center rack. Depending on your system type, it will require 2U or 3U of rack space as well as sufficient power requirements up to 1000W and access to a 1Gb network switch.
Networking and Port Requirements
The following ports are used by SnapStream Monitoring and Compliance for proper functionality and will require opening on your network firewalls as applicable:
- Ports 80 (HTTP) or 443 (HTTPS): The SnapStream Web Interface can be hosted as non-SSL (80) and/or SSL (443). Integrated tuning will also communicate via HTTP or HTTPS (depending on configuration). The system administrator can choose to disable port 80 through the Microsoft IIS Administration Tool on the SnapStream Server.
- Ports (TCP) 9090-9093: Used for communication between SnapStream Cluster Nodes.
- Port (TCP) 9190: Used for programs written around the SnapStream API such as integrated tuning authentication, the Link Client Software, the Windows/Mac Web Players, and the DVD Burn Plugin as well as super-clustering internal communication.
- Port (TCP) 9999: Used for file access communication on both nodes and clients..
Additional networking information regarding Cloud Sharing:
- In order for Cloud Sharing to work, the server will need to be able to send data via HTTPS to the IPs labeled "us-east-1" noted in https://ip-ranges.amazonaws.com/ip-ranges.json. Additional information about AWS IP ranges can be found at http://docs.aws.amazon.com/general/latest/gr/aws-ip-ranges.html.
- Cloud Sharing emails (and other emails sent by SnapStream) come from smtp.snapstream.com (18.104.22.168). They are relayed through Google addresses, which can be found here: https://support.google.com/a/answer/60764?hl=en
Please see below for recommendations for the best results when using antivirus software on your SnapStream Moco systems.
On-access scanning: Many antivirus programs offer active or "on-access" scanning, which monitors all data written to the computer's hard drive for unauthorized activity. However, when a TV server is recording, data in some directories will change very rapidly, and if your antivirus software attempts to monitor these changes, performance slowdowns can result.
To avoid this problem, the following directories on the SnapStream TV Server should be exempted from active or on-access scanning:
- C:\Program Files\Microsoft SQL Server
- C:\Program Files (x86)\SnapStream Media
- C:\ProgramData\SnapStream Media\SnapStream TV
- The SnapStream application data folder.
- The default location is C:\Windows\system32\config\systemprofile\AppData\Local\SnapStream Media\SnapStream TV)
- The default location if you are running the SnapStream Broker Service as a specific user the path will be: C:\Users\[username]\AppData\Local\SnapStream Media\SnapStream TV
- In some cases, this location may vary depending on the configuration of your system. Please contact SnapStream Support for more information.
- All internal storage drives (usually drives D-G).
- The SnapStream temp directory
- This will normally be covered with the exception of the D drive, but on systems in a cluster that don't have a D drive, you will need to find the temp directory by going to the WebUI > Admin > Machine.
- Then select the node that doesn't have a D drive from the machine drop down box to look up the temp directory path.
Note: The above directories can be included in periodic system scans that do not monitor activity in real-time. The storage drives may also be included in system scans; however, please be aware that the size of the storage drives can increase the time required for a full-system scan dramatically.
How to login to SnapStream Moco
Users can connect to the SnapStream web UI by opening a browser and entering the name or IP address of your SnapStream system into the address bar. Browsers supported include Chrome and Firefox as well as Safari on macOS.
Authentication to the SnapStream WebUI can be managed either with local users or by configuring with an external LDAP authentication provider such as Active Directory, LDAPV3 or a SAML 2.0 compliant single-sign-on provider such as Okta.
SnapStream Monitoring and Compliance supports the following signal input types:
- Physical QAM or ATSC MPEG-2 transport streams including all sub-channels and audio tracks (AC3 and AAC)
- Note: dialnorm loudness monitoring is not supported with AAC audio
- Physical ASI input
- IPTV transport types including UDP Multicast or Unicast, RTP over UDP Unicast or Multicast, TCP, RTMP, HLS, and MPEG-DASH.
- Note: Direct SDI inputs will be supported in a future release.
Watch (input multi-viewer)
The Watch screen allows you to monitor multiple video streams, simultaneously with independent playback time locations or synchronized and all organized by Input Groups. Full playback controls are available as well as clipping, bookmarking, and screenshots.The Watch screen is also where you can also view the as-run logs for an input.
You can view and take action on created clips, bookmarks, and input recordings on the Clips page. All of your input streams are recorded in one-hour increments; you can display specific recordings from an input or folder.
Clipping functionality is available from any page that houses an input’s video player. The powerful clipping feature allows you to pick start and end clip points and optionally transform via ShowSqueeze, Share via email, or Export to a third-party location. Supported export applications include Box, Dropbox, Frame.io, Google Cloud, Google Drive, Microsoft OneDrive, Slack, and Sony Ci.
Moco meets all your CALM Act loudness standard requirements by monitoring audio loudness levels for all your stream inputs. Audio loudness levels are computed based on the BS.1770 family of specifications and stored alongside the raw recordings as .ebur files. This audio data is graphically represented in the Loudness Graph. The time-zoomable Loudness Graph displays LKFS/LUFS across all your audio tracks with up to two different inputs on the same graph.
Digital Program Insertion (DPI) messages embedded in your broadcast transport streams are captured per input in the form of SCTE-35 messages and stored alongside the raw recordings as .dpi files. You can view the distribution of the DPI messages by going to the Monitor tab, clicking DPI Graph, and selecting the input stream you are interested in. The DPI graph is time-zoomable to allow you to focus on a particular time frame or live all while contextually viewing the associated video stream in the bottom pane of the page. On the right pane, the individual DPI messages are displayed allowing you also to expand and see the expanded detailed information.
With Moco, you can import your As-Run Logs (ARL) corresponding to an input stream so you can view broadcasting program segments. Moco installs a “Hot Folder Watcher” service that continuously monitors a predefined storage folder (default base location is C:\SnapStreamHotFolders) on the system in order to accept and process As-Run Logs. To import the input’s particular As-Run Logs, place the file into the C:\SnapStreamHotFolders\Input\AsRunHot folder where Input corresponds to the particular name of the input stream.
Note that you will also need to provide a profile that specifies the format of the as-run log files.
In order to process the log data, you’ll need set to On the “Process As Run Logs” setting for each Input. The As-Run data can be viewed contextually with the video by going to the Watch tab, selecting the Input you are interested in, clicking the right-pane flyout panel and selecting the ARL icon.
Program Loudness Report
By combining the imported As-Run Logs with the Loudness Monitoring, Moco provides a Program Loudness Report which computes the integrated loudness level of each program segment. Here you can compare loudness to a target, fixed value or dialnorm. Note that you will need to have As-Run Logs already imported for the time period chosen.
To access this report go to the Monitor tab and select Program Loudness Report on the left pane. Then select the Input on the left side that you are interested in one or more identified audio tracks. Choose a Start and End time for the desired report period and then click the Search button.
A tabular view of program segments will be displayed with the corresponding loudness data and any violations. For violation identification, you can specify the Target as a fixed number (default CALM act setting is -24) or dialnorm (if AC3 audio track) and a range amount from the Target setting. Optionally, you can also export the report to a comma-separated values file by clicking the Export CSV button.
To enable monitoring for an input, you’ll need to set Generate Loudness Data to On as well as Process As Run Logs. These settings can be enabled by going to the Admin tab, selecting Inputs, and then editing the input you’d like to monitor for program loudness.
Nielsen Watermark Monitoring
With Moco, you can also monitor the presence of Nielsen digital audio watermarks in your input streams. Moco will send a notification every minute that the configured SIDs are missing or when it detects errors which may include the following types: Insufficient Code Count, Audio Code Type, Timecode, and Duplicate Code.
To enable monitoring for a particular input, go to the Admin tab, then Inputs, select the particular input and then set Enable Nielsen Watermark Monitoring to On.
Nielsen Ratings Importing and Graphing
Similar to As-Run Logs, Nielsen Ratings data in Excel form (.xlsx) can be imported and displayed in graphical format.
To import Nielsen Ratings data, place the .xlsx file into the C:\SnapStreamHotFolders\Ratings folder. Once the ratings data has been processed, you can add particular metrics by selecting the particular input you are interested in and clicking the + button. A popup window will appear giving you options to choose which Demographics and Chart Type as well as the particular line color to display on the graph.
Note that you can view multiple metrics simultaneously on the graph as well as select a particular time slice by choosing timestamps and zooming in or out of the graph. In addition, you can contextually observe and control the corresponding input video streams at the bottom of the page.
To associate the Nielsen Ratings imported for a station with a particular input, go to the Admin tab, then Inputs, select the particular input and then set Ratings Station to the correct value from the ratings data import file.
Moco allows you to federate multiple Moco server nodes in a cluster so that all your Moco input data across multiple endpoints are accessible from a single Central Server user session. This feature is especially useful in a WAN environment where endpoints may be geographically disparate.
If you are licensed for super-clustering, you will see a Dashboard option where you can register endpoints that will report to the Central Server. The Dashboard on the Central Server will also display all your endpoints and their current state, updated every 5 minutes. From here you can also deregister endpoints; when doing so, we recommend also deregistering from the endpoint system as well.
SnapStream Moco provides granular control over how stakeholders are notified of various events on your system. Event categories include System, Stream, Video, Audio, Captions, and DPI Messages. You can customize who receives notifications per event type as well as by input by configuring Notify Groups. Supported notification methods include email as well as Slack. Simply go to the Admin tab and under Settings, select Notify and start creating your Notify Groups.
We recommend configuring your Notify Groups after you have configured your inputs. If you add a new input to Moco, you will need to update your existing Notify Groups, or add a new Notify Group, to ensure that you receive notifications about the new input.
Moco offers a powerful indexing and Search engine where you can search for text with captions from your input streams as well as any imported As-Run Logs. You can find this Search bar at the top of every page within Moco. The Search function allows you to do basic searches as well as use more advanced search filters. It will even search across all your clustered systems.