We are experiencing issues with video playback from the Mobile Server, where the playback stream is always transcoded to JPEG at low resolution and 1 FPS, even when the stream is available as direct H.264 in Smart Client or Live View.

Issue Summary:

  • Playback via Mobile Server (using API or Mobile Client) results in:
    • Streaming type: Transcoded
    • Codec: JPEG
    • FPS: 0–1
    • Resolution: ~455x341
  • When using Smart Client Live View, the same camera streams in H.264 at 12 FPS and 640x480.
  • We’ve attempted to request
  • FragmentedMP4
  • via the Mobile Server API, but it consistently falls back to Transcoded.
  • Tested on both live and playback streams – same result.

System Information:

  • Mobile Server
  • Smart Connect: Disabled (system does not support it)
  • Transcoded and direct stream settings appear active and properly configured
  • Cameras confirmed to stream in H.264 and are recording on the Recording Server

What We’ve Tried:

  • Validating server and mobile configuration settings (screenshots attached)
  • Testing with various cameras and playback ranges
  • Confirmed stream settings in Management Client
  • Mobile Server configuration screenshots attached

Questions:

  1. How can we force or enable
  2. FragmentedMP4
  3. or direct stream for playback via Mobile Server?
  4. Is playback via Mobile Server limited to Transcoded JPEG only for certain setups or camera types?
  5. Is there a required server configuration or license component to allow native stream access in playback?

Supporting Screenshots:

  • Smart Client showing direct H.264 stream at 12 FPS (Live View)
  • Mobile Server Manager configuration
  • Mobile Client showing 0 FPS and JPEG codec
  • Playback examples with reduced quality and resolution
  • System showing fallback to transcoded streams

Any insight into why the playback always falls back to Transcoded JPEG and how to resolve this would be greatly appreciated.

{
                    PlaybackControllerId: this.playbackController!.response.parameters.PlaybackControllerId,
                    CameraId: this.cameraId,
                    DestWidth: canvasWidth,
                    DestHeight: canvasHeight,
                    SignalType: "Playback",
                    MethodType: "Push",
                    Fps: 15,
                    ComprLevel: 70,
                    KeyFramesOnly: "No",
                    RequestSize: "Yes",
                    StreamType: "Transcoded",
                    Speed: this.playbackSpeed,
                    SeekType: "Time",
                    Time: timestamp.getTime(),
                }

Direct streaming is only supported in Live mode

https://doc.milestonesys.com/latest/en-US/standard_features/sf_mobile/mobc_directstreamingexplained.htm

The FPS is related to the overall performance of the setup