Receiving & Playback¶
This guide covers how to receive and play back Flex Video streams on a client device.
RTSP Playback (H.264 / H.265)¶
RTSP streams encoded with H.264 or H.265 use standard protocols and work with any compatible media player — no custom plugins required.
ffplay¶
VLC¶
Open a network stream in VLC with the URL:
GStreamer¶
gst-launch-1.0 rtspsrc location=rtsp://<encoder-ip>:8731/<pipeline-id> latency=200 \
! queue ! decodebin ! autovideosink
RTSP Playback (AV1)¶
AV1 streams require a player with AV1 decoding support.
VLC Limitation
VLC does not support real-time AV1 playback over RTSP. Use ffplay, GStreamer, or a TAK application instead.
ffplay¶
GStreamer¶
gst-launch-1.0 rtspsrc location=rtsp://<encoder-ip>:8731/<pipeline-id> latency=200 \
! queue ! decodebin ! autovideosink
Lattice¶
Flex Video streams can be viewed directly in Lattice when Lattice stream announcements are enabled. Pipelines must use RTSP output. See Stream Announcements for configuration details.
TAK Playback (ATAK / WinTAK / iTAK)¶
When stream announcements are enabled (CoT, TAK Server, or Lattice), Flex Video streams appear automatically in the Video section of your TAK application. No manual URL configuration is required. Pipelines must use RTSP output.
AV1 Support in TAK¶
AV1 playback in TAK requires:
- ATAK 5.5 or higher
- WinTAK — latest version recommended
Older versions of ATAK and WinTAK support H.264 and H.265 streams only. If your TAK application does not support AV1, configure your pipeline to use H.264 or H.265 as the video codec.
Video + Audio Playback¶
Codec2 audio playback requires GStreamer with Blackwire plugins. The specific plugins needed depend on your output transport.
RTSP with Audio¶
RTSP streams carry Codec2 audio as a separate stream alongside video. You need:
- GStreamer 1.28+
- Codec2 plugin from Blackwire
gst-launch-1.0 rtspsrc location=rtsp://<encoder-ip>:8731/<pipeline-id> name=src latency=200 \
src. ! queue ! decodebin ! autovideosink \
src. ! queue ! application/x-rtp,media=audio ! rtpgstdepay ! codec2dec \
! audioconvert ! audioresample ! autoaudiosink
Standard video players (ffplay, VLC) will still play the video portion of the stream — they will simply ignore the Codec2 audio track.
UDP / Multicast with Audio¶
UDP and multicast streams use the FlexMux container format, which muxes AV1 video and Codec2 audio together. You need:
- GStreamer 1.28+
- FlexMux plugin from Blackwire
- Codec2 plugin from Blackwire
Video + Audio:
gst-launch-1.0 udpsrc port=<port> ! application/x-flexmux ! flexdemux name=demux \
demux.video ! queue ! av1parse ! dav1ddec ! autovideosink sync=false \
demux.audio ! queue ! codec2dec ! audioconvert ! audioresample ! autoaudiosink sync=false
Video only (ignore audio):
gst-launch-1.0 udpsrc port=<port> ! application/x-flexmux ! flexdemux name=demux \
demux.video ! queue ! av1parse ! dav1ddec ! autovideosink sync=false
Multicast:
gst-launch-1.0 udpsrc address=<multicast-address> port=<port> \
! application/x-flexmux ! flexdemux name=demux \
demux.video ! queue ! av1parse ! dav1ddec ! autovideosink sync=false \
demux.audio ! queue ! codec2dec ! audioconvert ! audioresample ! autoaudiosink sync=false
Plugin Requirements Summary¶
| Output Transport | Video Codec | Audio | Plugins Required |
|---|---|---|---|
| RTSP | H.264 / H.265 | None | None — standard players work |
| RTSP | AV1 | None | None — use ffplay or GStreamer (not VLC) |
| RTSP | Any | Codec2 | Codec2 plugin from Blackwire |
| UDP / Multicast | AV1 | None | FlexMux plugin from Blackwire |
| UDP / Multicast | AV1 | Codec2 | FlexMux + Codec2 plugins from Blackwire |
Getting the Plugins¶
The Codec2 and FlexMux GStreamer plugins are available for Windows, Linux, and macOS. Contact support@blackwire-ts.com to request the plugins and a sample playback script for your platform.
A standalone player application is planned for a future release.