If I send an RTMP stream with 4k@30fps 12000 Kbps data H264 encoded with the Wowza transcoder system disabled, do I get the exact same output in my HLS files as the input (the identical 12000 Kbps H264 bytes)? I want to know if there is there any kind of transcoding happening during in the conversion from RTMP to HLS? If there is transcoding process happening, how do I control the bitrate of this HLS output. I see there is an app property “cupertinoDefaultVideoBitrate” with a default of 250000, so it seems this is controllable?
asking for you @Dan_Farrow…
It’s my understanding that Passthrough streams are not transcoded but they may be repackaged—for example: Wowza may receive an H.264 RTMP stream and apply an HLS wrapper around it for delivery. Passthrough streams ingest a single encode and deliver a single output rendition whose video and audio bitrate, H.264 profile, frame rate, aspect ratio, and keyframe interval match those of the ingested source.
But, I’ll confirm with tech support.
Tech Support: “I am not aware of any option to reduce the bitrate without transrating the source for output.”
So it sounds like what goes in is what comes out, unless you do transcoding? Is that correct?
I believe it is something like transmuxing here.
Transcode is converting from one codec to another, maybe something more common. Transmux (transcode-multiplexing) is converting to a different container format, but keeping the file contents the same
So, What Is Transcoding?
First, the word transcoding is commonly used as an umbrella term that covers several digital media tasks:
- Transcoding , at a high level, is taking already compressed (or encoded) content; decompressing (decoding) it; and then somehow altering and recompressing it. As an example, you might change the audio and/or video format (codec) from one to another, such as converting from an MPEG2 source (commonly used in broadcast television) to H.264 video and AAC audio (the most popular codecs for streaming). Other basic tasks could include adding watermarks, logos, or other graphics to your video.
- Transrating refers specifically to changing bitrates, such as taking a 4K video input stream at 13 Mbps and converting it into one or more lower-bitrate streams (also known as renditions): HD at 6Mbps, or other renditions at 3 Mbps, 1.8 Mbps, 1 Mbps, 600 kbps, etc.
- Transsizing refers specifically to resizing the video frame, say, from a resolution of 3840×2160 (4K UHD) down to 1920×1080 (1080p) or 1280×720 (720p).
So, when you say “transcoding,” you might be referring to any combination of the above tasks — and typically are.
## What Transcoding Is Not
Transcoding should not be confused with transmuxing , which can also be referred to as repackaging , packetizing, or rewrapping . Transmuxing is when you take compressed audio and video and — without changing the actual audio or video content — (re)package it into different delivery formats.
For example, you might have H.264/AAC content, and by changing the container it’s packaged in, you can deliver it as HTTP Live Streaming (HLS) or Dynamic Adaptive Streaming over HTTP (DASH). The computational overhead for transmuxing is much smaller than for transcoding.
Hope that helps you @Dan_Farrow