NVD Series Decode Troubleshooting
Nov 03 2020
General Streaming Information
NVD-30, & NVD-35
If you are unable to decode a stream
on your NVD series unit, please try the following:
Check your internet connection and see if you can connect to the NVD using its IP Finder Utility.
Please note that the NVD series ships with DHCP enabled, so you will not be able to connect without a router or network DHCP server. In order to set and use a static IP, you will need to connect first, and then configure the network settings.
Test the stream on another decoder. Try VLC or FFPLAY for confirmation that the stream is working.
- In VLC, press Ctrl+N and paste the stream URL into the window
- In FFPLAY, open Command Prompt, go to the directory with FFPLAY, and type "FFPLAY [URL]".
Check the video output of your NVD and that your monitor supports that frame rate and resolution.
- Some HDMI and SDI monitors do not support 1080p 59.94, for instance
If you are using a video matrix switch or video router that does not have internal frame sync or gen-lock, it's possible that your encoder is having difficulty with the source signal. When you switch to another source, the vertical interval changes, so the encoder needs to lock onto the new vertical interval, which causes the signal to appear corrupted.
Decoding Streaming Services
Please note that the NVD-20/25 can not decode Youtube Live. The NVD-30/35 supports this, along with Ustream and a number of other providers. A complete list is available in the latest NVD-30 and NVD-35 manuals on our website.
To decode YouTube and other streaming sites, the Decoder Mode needs to be set to Video Sharing Mode. Default Mode should be used for decoding standard streams from encoders such as RTSP, RTMP, HTTP etc.
Please note that the NVD series can not decode Facebook Live at this time.
- The NVD series does not support adaptive/multi-variant HLS streams, the user must select a single variant.
Decoding A Single-Variant Stream
From A Multi-Variant Playlist
If you want to decode content from a multi-variant master playlist, there is a way to extract
Say I put this master playlist file into FFPlay, a tool that comes with the FFMPEG library:
Please Note: FFPlay is a command line tool. It is easy to use, but requires some familiarity with streaming file structure.
Download and extract FFMpeg to a folder on your computer
- You do not need to install it
- Double-click on FFPrompt.bat
This will automatically setup the command line for you, so all you need to do is type either FFPlay (with video preview) or FFPrompt (no video preview), and it will begin to generate data
Here is an example:
- ffplay https://s3-us-west-2.amazonaws.com/hls-playground/hls.m3u8
- This is a great tool for stream analysis, so it is helpful to keep it for troubleshooting
After running FFPlay on the above master playlist, here are its contents. The variant I want to decode for this example is highlighted in bold below:[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/1200/640x360_1200.m3u8' for reading
[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/200/416x234_200.m3u8' for reading
[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/400/480x270_400.m3u8' for reading
[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/1500/960x540_1500.m3u8' for reading
[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/2500/1280x720_2500.m3u8' for reading
[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/1200/640x360_1200_00000.ts' for reading
[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/200/416x234_200_00000.ts' for reading
[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/400/480x270_400_00000.ts' for reading
[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/1500/960x540_1500_00000.ts' for reading
[hls,applehttp @ 00000196680dcd60] Opening 'https://s3-us-west-2.amazonaws.com/hls-playground/2500/1280x720_2500_00000.ts' for readingI want to copy URL's with a .M3U8 playlist, and choose a resolution and bit-rate that meets my needs. In this example, the 720P resolution is written as 1280x720, and the 2.5 Mbps bit-rate is written as 2500.
So, if I copy the 720P 2.5 Mbps playlist URL, and paste it into NVD-35, I will get that specific stream:
Port Forwarding Troubleshooting
If you have a point-to-point setup across two separate local networks, you need to setup port forwarding on the streaming encoder's router.
Each router brand has their own menu settings layout, so here are some tips:
On the local network with the streaming encoder (NVS-25, etc), log into your router.
- The login information may also be in the router documentation, or on the bottom of the router device.
- This is usually via 192.168.1.1, and you will need to enter a username and password to login.
Go to DHCP Address Reservation menu, and reserve the streaming encoder to an address of your choice, like 192.168.1.50, for example.
The new address needs to be in the same range, so of the 4 numbers with dots in-between, the first 3 numbers need to match.
- In this case, it's 192, 168, and 1.
- Apply the IP address reservation setting, and wait up to a minute for it to finalize (varies by router).
Go to the Port Forwarding menu, and create a new Service.
- Give it a name for reference
- Set the protocol as TCP/UDP
(sometimes labeled as Both)
- Set the port as 8554 for RTSP, or 1935 for RTMP
- Choose or enter the internal IP address of your streaming encoder that you reserved in the previous steps.
- Search for your IP address in a web browser's search engine by typing something like "my ip address".
You will see that your public IP address on the internet is 4 random numbers, and not 192.168.1.1.
- Save this public address, you will need it for the final step.
- In your streaming encoder, setup a RTSP or local RTMP stream, and copy the URL it gives you.
In your streaming decoder at the other location, enter the streaming encoder's URL, but then change the IP address portion from 192.168.1.xx to the public IP address you got earlier from the network the streaming encoder is on.
- Before Example: rtsp://192.168.1.50:8554/stream
After Example: rtsp://188.8.131.52:8554/stream
- These are examples, your local IP and public IP addresses will be different.
- You should now see the decoded stream. If not, test the port forwarded stream URL in VLC and refer to the other troubleshooting sections of this guide.
Here are some walkthroughs for some command router brands and models:
If you are having issues with decoding a RTSP over UDP stream on the NVD, set the NVD's protocol to RTSP over TCP and Enable Safe Buffering.
Please note that the NVD series does not support HLS stream playlists that have separate audio and video components.
If your encoded RTSP stream requires the NVD to provide a username and password, you need to enter it into the URL as follows: rtsp://username:password@ip address:port/stream name
- NVD-20/25's running firmware version 0.2.97 or earlier: check that the stream URL entered is lowercase:
- rtsp:// & rtmp:// GOOD
- RTSP:// & RTMP:// MAY NOT WORK
Check that the encoded source video has an audio track.
- Note that this is not the same as having no audio
-If there is no audio track or stream in the encode, the NVD currently is unable to decode it.
-To resolve this, go to your encoder's setup and add a blank/muted low bit-rate audio track to the encode
Please note that the NVD does not decode MPEG-2 video, only H.264. It does support MPEG-TS over UDP, but that is a container format and not a codec.
Please note that the NVD does not decode AC3 audio, either.
- To decode a local stream using a 3rd party software or hardware encoder using RTMP, you will need to create a local RTMP server. Some encoders may not support creating a local server. Consider using our NVS-25 hardware or DVS-200 software on an Ubuntu server installation to manage this, or for simple point to point, use RTSP/UDP instead.
Please note that the NVD series does not support the following:
.SDP Reference Files
- Known as Session Description Protocol, this helps manage the stream connections
Known as Synchronized Multimedia Integration Language, this is another way to group multiple streams for Adaptive HLS
- If trying to decode a stream from a CDN (YouTube, Twitch, Livestream, etc.) on the NVD-30/35 and it does not work, please contact Datavideo support for current compatibility status.