Products >> Online Help >> RTMP Client User Manual

RTMP Client User Manual

1. Overview

The Happytime RTMP Client is a desktop application for playing live RTMP streams. It supports multi-window viewing, audio/video playback, per-window snapshot and video recording, hardware-accelerated decoding, customizable window layouts, and saved layout presets.
This manual describes the desktop (Windows/Linux/macOS) version of the client.

2. Supported stream URLs

The client plays live RTMP streams. The following URL schemes are accepted:
  rtmp:// — standard RTMP
  rtmpt:// — RTMP over HTTP (tunneling)
  rtmps:// — RTMP over TLS/SSL
  rtmpe:// — RTMP with encryption
  rtmpfp:// — RTMP over Flash Player secure tunnel
  rtmpte:// — RTMPE over HTTP tunnel
  rtmpts:// — RTMPE over HTTPS tunnel

If authentication is required, a username and password can be supplied together with the URL.

3. Main window

3.1 Video wall
The central area of the main window is the video wall, which displays one or more video windows side by side. Click a video window to select it (a purple border highlights the selected window). Move the mouse over a window to reveal its floating control bar.
main window

3.2 Toolbar
A toolbar is located at the bottom of the main window:
  stop all : Stop all videos — closes all video windows and disconnects all streams.
  mute all : Mute all videos — mutes the audio of all video windows at once.
  full screen : Full screen — makes the whole video wall full screen (press Esc to exit).
  one / four / six / nine / sixteen : Switches the video wall to a preset layout.
  custom layout : Custom layout — opens the custom layout dialog to define a grid of video windows.
  system setting : System setting — opens the System Settings dialog.
  online help : Online help — opens the online documentation in a web browser.

4. Video window operations

4.1 Setting a stream
Each video window is empty until a stream is assigned. To assign a stream, use any of the following methods:
  Play button : hover over the window and click the Play button in the floating control bar. The Set RTMP Stream dialog appears where you enter the stream URL (and optionally a username/password), as the following:
    play video
    set rtmp stream
  Double-click the window to open the Set RTMP Stream dialog.
  Drag & drop a plain-text RTMP URL directly onto the window.

Set RTMP Stream dialog :
  RtmpAddr — the RTMP stream URL (must start with a valid scheme, see Section 2)
  Username — optional username for authentication
  Password — optional password for authentication

Click OK to start playing. If the URL is empty or has an invalid format, a message is shown and you are returned to the dialog.

4.2 Playback status
While a stream is being loaded or played, status messages are displayed on the video window in red text:
  Connecting — the client is connecting to the server
  Connect failed — could not establish the connection
  NO Signal — no video/audio signal received
  NO Data — no media data received
  Authenticate failed — the username/password was rejected

In most failure cases the client automatically reconnects every 5 seconds.

4.3 Floating control bar
When you hover the mouse over a playing video window, a semi-transparent control bar appears at the bottom of the window, as the following:
video window controls
  Play — opens the Set RTMP Stream dialog (to change the stream)
  Pause / Play — toggles pause of the current stream
  Stop — stops and clears the current video window
  Snapshot — captures the current frame and saves it as a JPG file
  Record — starts/stops recording the stream to an AVI file
  Elapsed time — current playback position (MM:SS or HH:MM:SS)
  Progress bar — drag to seek to a different position (for seekable content)
  Duration — total duration of the content
  Volume — click to mute/unmute the window
  Volume slider — adjusts the window's volume

4.4 Right-click context menu
  Close Video — stops the stream and clears the window
  Fill the whole window — scales the video to fill the entire window (may distort)
  Keep the original aspect ratio — scales the video while preserving its aspect ratio
  Full Screen / Exit Full Screen — makes/restores this window full screen (press Esc to exit)
  Media information ... — shows a dialog with codec and resolution details (see Section 8)

4.5 Full screen
Double-click a video window (or use the context menu) to make it full screen. Press Esc or double-click again to restore.

5. Snapshot

  1. Hover over the playing window and click the Snapshot button in the floating control bar.
  2. The current frame is saved as a JPG file in the snapshot directory (default: ./snapshot next to the application; can be changed in System Settings).
 3. The file name is built from the stream host and the capture time, for example hostname_20260825_153000123.jpg.
  4. A confirmation dialog shows the full save path. If saving fails (for example, the path is invalid), a warning is displayed.

6. Video recording

  1. Hover over the playing window and click the Record button in the floating control bar. The button changes to the "stop recording" icon.
  2. The stream is recorded to an AVI file in the recording directory (default: ./record; can be changed in System Settings).
 3. The file name is built from the stream host and the start time, for example hostname_20260825_153000123.avi.
  4. Click the button again to stop recording. If the stream reconnects while recording, the recording automatically resumes for the new connection.
  5. The recording can be limited by maximum recording time and maximum file size (configured in System Settings).

7. Window layouts

7.1 Preset layouts
Use the toolbar buttons to switch between preset layouts: 1, 4, 6, 9, and 16 windows.

7.2 Custom layout
Click the custom logo Custom Layout button to define your own grid, as the following:
custom layout
  1. Choose the number of Rows and Cols for the grid.
  2. In the zone editor, draw zones (video window regions) by selecting cells; each zone can hold one stream.
  3. Drag & drop an RTMP URL onto a zone to assign a stream.
  4. Click OK to apply the custom layout to the video wall.

7.3 Saving and loading layouts
The current layout (including window arrangement and assigned streams) is remembered automatically and restored when the client starts.
You can also save or load layouts explicitly as XML files:
  1. Open System Settings.
  2. Under Video Window Layout, click Save Layout to export the current layout to an XML file, or Load Layout to import a previously saved XML layout file.

8. Media information

Open the context menu (right-click) on a playing window and choose Media information ..., as the following:
media information
  Video : Codec (e.g. H.264, H.265), Resolution (width × height), Frame rate (fps)
  Audio : Codec, Sample rate (Hz), Channels
  Url : the stream URL being played

9. System settings

Click the system setting System setting button on the toolbar to open the System Settings dialog, as the following:
system setting

9.1 General
  Language : System / English / Chinese. Takes effect after restart.
  Enable Log : Enables/disables writing log files (file name prefix rtmpclient).
  Log Level : TRACE / DEBUG / INFO / WARNING / ERROR / FATAL.

9.2 Video
  Hardware-accelerated decoding : Automatic / Direct3D11 Video Acceleration / DirectX Video Acceleration (DXVA) 2.0 / Disable (options depend on the platform)
  Default video render mode : Keep the original aspect ratio / Fill the whole window

9.3 Paths
  Snapshot Path : Directory where snapshot JPG files are saved (browse / open)
  Recording Path : Directory where recorded AVI files are saved (browse / open)

9.4 Recording
  Max recording time : Time limit (HH:mm:ss) after which an ongoing recording stops automatically
  Max file size (KB) : Size limit (KB) after which an ongoing recording stops automatically

9.5 Video Window Layout
  Save Layout : Exports the current video wall layout to an XML file
  Load Layout : Imports a video wall layout from an XML file

Click Confirm to apply and save the settings, or Cancel to discard changes.
Note : the snapshot path and recording path are validated when the dialog is confirmed; an existing directory must be selected.

10. Keyboard shortcuts

Esc — exit full screen (both for a single window and the whole video wall).

11. Log files

If logging is enabled (see Section 9.1), the client writes log files with the name prefix rtmpclient (e.g. rtmpclient-20260825_112744.log) in the application directory. The log level controls how detailed the output is. Logs are useful for troubleshooting connection and decoding issues.

12. Frequently asked questions

Q1. The video window keeps showing "Connect failed" / "NO Signal".
The client attempts to reconnect automatically every 5 seconds. Verify that the stream URL is correct, the server is running, and the stream is being published. Check the log file for more details.

Q2. Why does the image look stretched?
The default render mode is "Keep the original aspect ratio". If it is set to "Fill the whole window", the image is scaled to fill the window and may appear distorted. Change the mode in the right-click context menu or in System Settings.

Q3. Where are my snapshots and recordings saved?
By default in ./snapshot and ./record (relative to the application). You can change both locations in System Settings (see Section 9.3).

Q4. Video is not using hardware decoding.
Check the "Hardware-accelerated decoding" option in System Settings (see Section 9.2). On Windows, the available modes are D3D11 and DXVA2; choose "Automatic" to let the client select the best available mode, or "Disable" to force software decoding.

Q5. How do I play multiple streams at once?
Switch to a multi-window layout (4 / 6 / 9 / 16 or a custom layout), then assign a stream to each window using the Play button or drag & drop.