STANAG Player  Version 2.0.0
Stream Recorder

StPlayer provides a stream recording functionality. The recorder works in TS file or HLS recording mode. Recording can be segmented (by size/duration) and GOP aligned.

Note
Recording of RTP streams is not supported.

To start recording (after stream playback is activated), press Record Button.

RecorderCtrl.png
Stream Recorder Control

During recording, some relevant status info (like total recorded size, current bitrate) is shown. If GOP aligned segmentation is selected (the incoming stream is parsed), the StPlayer will notify on discontinuity errors.

HLS Recording

HTTP Live Streaming (HLS) is an HTTP-based media streaming communications protocol that provides a reliable, cost-effective way of delivering continuous and long-form video over the Internet.

RecorderHls.png
HLS Stream Recorder

When in HLS Recording mode, the StPlayer application will split the incoming stream into segments and create and update the m3u8 manifest.

Here is an example of a Media Playlist (manifest)

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:4
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10,
test_0_2018_07_12_12_45_08.ts
#EXTINF:9.8,
test_1_2018_07_12_12_45_19.ts
#EXTINF:10,
test_1_2018_07_12_12_45_29.ts
#EXTINF:4.8,
test_1_2018_07_12_12_45_39.ts
#EXT-X-ENDLIST

The files are stored in the same directory as the manifest file.
Optionally, you can have a ByteRange field added to the manifest. The manifest version will be automatically bumped to Ver. 4.

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:5
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10,
#EXT-X-BYTERANGE:6727768
test_0_2018_07_17_10_38_50.ts
#EXTINF:10,
#EXT-X-BYTERANGE:5949072
test_1_2018_07_17_10_39_01.ts
#EXTINF:10.04,
#EXT-X-BYTERANGE:5906772
test_2_2018_07_17_10_39_11.ts
#EXTINF:9.52,
#EXT-X-BYTERANGE:6426592
test_3_2018_07_17_10_39_21.ts
#EXTINF:3.48,
#EXT-X-BYTERANGE:1976256
test_4_2018_07_17_10_39_30.ts
#EXT-X-ENDLIST

The segment duration is set by the Duration field. The segments can optionally be GOP aligned (if your stream allows that).

Note
Please note, that the GOP alignment recording requires on-the-fly file parsing.

The EXT-X-PLAYLIST-TYPE tag provides mutability information about the Media Playlist file.
Its format is:
#EXT-X-PLAYLIST-TYPE:<type-enum>
where type-enum is either EVENT or VOD.

If the EXT-X-PLAYLIST-TYPE value is EVENT, Media Segments can only be added to the end of the Media Playlist.
If the EXT-X-PLAYLIST-TYPE value is VOD (Video On Demand), the Media Playlist cannot change.

During the recording, the playlist is set to be EVENT.

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:3
#EXT-X-PLAYLIST-TYPE:EVENT
#EXTINF:10.4,
#EXT-X-BYTERANGE:6749388
test_0_2018_07_17_10_42_47.ts
#EXTINF:9.52,
#EXT-X-BYTERANGE:6327140
test_1_2018_07_17_10_42_57.ts
#EXTINF:10,
#EXT-X-BYTERANGE:6875724
test_2_2018_07_17_10_43_07.ts

When recording is stopped, the manifest is finalized and its type set to VOD, as shown above.

Segment Recording

RecorderFiles.png
TS Stream Recorder

In the TS Recording mode, you can keep only the desired number of recorded segments, automatically removing the old ones and keeping the limit of max allowed space for recording.

H.264 GOP Aligned Segmentation.

Cutting into segments at GOP boundaries.

As mentioned above, the StPlayer provides segmented recording functionality. In order to achieve seamless switching between random (nonconsecutive) segments, the cutting point should be at GOP (Group Of Pictures) boundaries, as shown below:

Segments.png
H.264 GOP Aligned Segmentation.


Note
This functionality is provided only for MPEG TS streams with H.264 payload.
Untitled 1




 Copyright 2023,    IMPLEOTV SYSTEMS LTD