Watch recording locally - Transcoding instead of Remuxing

Is there a reason why this Import would transcode instead of remux while playing locally in the web browser?

2021/03/06 19:25:24.285531 [ENC] Starting encoder for Zama (2017).mp4 in /volume1/arkives/ChannelsDVR/Streaming/file1997-ip192.168.1.2-730833072/encoder-0-410525775 at 0 (0.000000) (encoder=libx264, resolution=720, deinterlacer=linear, bitrate=2260 segment_size=0.01)
2021/03/06 19:26:25.484043 [ENC] Encoder stopped for Zama (2017).mp4 in /volume1/arkives/ChannelsDVR/Streaming/file1997-ip192.168.1.2-730833072/encoder-0-410525775 after encoding 0 to 25

Zama (2017) Transcoding

So I remuxed it to an H.264 Transport Stream file and it plays without transcoding or remuxing.
Channels DVR must be confused with it in the mp4 container.
Zama (2017) Not Transcoding

Web browser playback most always transcodes, far as I know.

The webUI is not meant to be used for streaming.
It is a administrative interface to manage the server.

Channels is designed to be used from a client app on supported streaming device.

If the codecs match and the resolution/bitrate combination chosen for web playback is equal to or greater than the source stream, the web player will just remux.

nevermind.....i never noticed it says "Transcoder Ready" when i play back tve recordings.
I thought that said it was transcoding.....

I've got Web Player Server Quality at 1080p @ 10mbps and Web Player Adaptive Streaming disabled.

Must be something it sees or doesn't see when parsing the mp4 container.
Just remuxing it to a transport stream container works.

Ah. Yea. Channels uses .ts, not mp4.
No idea why...they just do.

For recordings it makes, yes. That mp4 Import should be remuxing for local browser playback.

This is expected for web playback when video keyframe locations don't line up with what the browser expects for HLS.

Thanks.
I assume video keyframe locations means IDR frames and GOP length.

Since the GOP length and IDR frame locations are the same in the mp4 and remuxed ts files, maybe you could remux the mp4 during playback using the h264_mp4toannexb bitstream filter ?

We already remux when possible, i.e. when streaming from the Channels app. The browser player is more constrained and it's not possible to remux for it without causing other problems.

1 Like

Fair enough. I'll just remux the few I have to H.264 transport stream.