To convert a live RTMP feed into HLS, receive the RTMP stream with an HLS-capable server or pass it to FFmpeg’s HLS muxer. HLS produces a playlist file and media segments that a compatible player can request over HTTP(S). If the incoming audio and video codecs are already suitable, you may be able to package the stream without re-encoding; transcoding is a separate choice for codec compatibility, resizing, or multiple quality levels.
The most direct self-hosted route is FFmpeg. For a server-based ingest path, SRS documents built-in HLS support. For managed, adaptive-bitrate delivery, AWS documents a MediaLive-to-MediaPackage workflow. Which route fits depends on your codec and rendition needs, latency tolerance, CDN plans, and operational capacity.
What RTMP-to-HLS conversion does
RTMP is commonly used to send a live contribution feed to a server. HLS packages video and audio into media segments and publishes a playlist—typically an .m3u8 file—that a player can use to request those segments over HTTP(S). A web server or delivery service must make the playlist and its referenced segments reachable by viewers.
Conversion does not automatically mean transcoding. A stream-copy or transmuxing path can package existing encoded audio and video without re-encoding them, provided the codecs and stream characteristics work for the intended HLS players. Transcode when the source is not compatible with your target playback environment, or when you need different resolutions or bitrates. Copying one source does not create adaptive-bitrate renditions by itself.
#1 Best Overall
- Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
- Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
- Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
- Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
- 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.
Route 1: Package an RTMP feed with FFmpeg
FFmpeg’s HLS muxer can take a live RTMP input and write a rolling playlist and segment files. The following is an illustrative starting point, not a tested command or universal preset. Replace the host, application, stream name, and output paths; make sure the destination directory exists and is writable by the FFmpeg process.
ffmpeg -i "rtmp://HOST/APP/STREAM"
-c:v copy -c:a copy
-f hls
-hls_time 4
-hls_list_size 6
-hls_flags delete_segments+temp_file
-hls_segment_filename "/var/www/hls/stream_%06d.ts"
"/var/www/hls/stream.m3u8"
- Check the input. Confirm the RTMP URL is reachable and the feed contains the expected video and audio streams. Inspect FFmpeg’s startup output and logs for connection errors, missing streams, or codec information.
- Choose copy or encoding.
-c:v copy -c:a copyavoids re-encoding. If the input codecs are not accepted by your target players, or you need multiple output sizes or bitrates, replace stream copy with explicit encoders and maps. Test the actual output with the players and devices you intend to support. - Set the segment and playlist behavior.
-hls_time 4requests a target segment duration, while-hls_list_size 6limits the number of entries in the live playlist. These example values are not a universal latency or retention recommendation. - Publish both kinds of files. The playlist references segment files. Serve the playlist and every referenced segment from a consistent HTTP(S) path, with suitable MIME types, read permissions, TLS at the delivery edge, and access controls appropriate to your stream.
- Verify playback and cleanup. Open the playlist over HTTP(S), confirm it updates as the live feed continues, and check that each referenced segment can be fetched. Monitor disk use and configure retention so a segment is not deleted before a viewer still downloading it can finish.
Why segment duration may differ from the target
FFmpeg documents hls_time as a target: a segment is cut at the next keyframe after the target time has passed. A four-second target therefore does not guarantee four-second segments. Keyframe cadence and GOP structure affect the resulting duration. FFmpeg recommends a closed GOP and a GOP size that fits the segment constraint; consult the FFmpeg Formats Documentation for the options supported by your installed build.
Rank #2
- 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
- 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
- Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
- 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
- What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.
Playlist length and segment retention are different settings
The playlist-size setting controls how many recent entries are listed to viewers. Segment deletion and its retention threshold govern how many unreferenced files remain before cleanup. A short playlist can reduce the visible live window, but deleting old files too quickly can interrupt clients that have not fetched them yet. Choose both behaviors with your expected player buffering, segment duration, disk capacity, and viewer access patterns in mind. See the FFmpeg HLS muxer options for the installed version’s details.
Route 2: Receive RTMP with SRS and enable HLS
SRS documents built-in HLS support, so it can receive an RTMP publish and generate HLS without a separate FFmpeg packaging process in the ingest path. Its version 7.0 documentation demonstrates publishing to rtmp://localhost/live/livestream and opening the generated playlist at http://localhost:8080/live/livestream.m3u8. The shown configuration has HLS disabled by default, so enable and configure it explicitly rather than assuming it is active.
Recommended Free Tools
Rank #3
- Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
- Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
- Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
- Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
- What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.
- Install and configure an SRS version appropriate for your deployment; check the configuration syntax and HLS behavior for that exact version.
- Enable HLS in the server configuration and start SRS.
- Publish the live feed to the configured RTMP application and stream name.
- Wait for SRS to generate its first HLS segment, then open the resulting playlist URL and verify that its segments are reachable.
- For public delivery, configure the HTTP(S) path, permissions, TLS, monitoring, storage cleanup, and any CDN or access-control layer you need.
SRS’s documentation identifies HLS compatibility and CDN distribution as strengths, and notes higher latency than RTMP or HTTP-FLV. Treat any latency figures in vendor documentation as estimates, not service guarantees: segment duration, playlist behavior, player buffering, network conditions, and configuration all affect end-to-end delay. See SRS’s version 7.0 HLS documentation; the documentation labels that version unstable, so verify the status and behavior of the version you plan to run.
Route 3: Use AWS Elemental MediaLive and MediaPackage
AWS documents a managed workflow in which an RTMP contribution feed enters MediaLive, which produces HLS output for MediaPackage. A client ultimately receives a parent manifest, rendition manifest, and media segments; an AWS tutorial illustrates that HLS output structure with an H.264 video encode and an audio encode. That tutorial uses RTP as its input, so it illustrates the output rather than the RTMP ingest configuration.
Rank #4
- Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
- Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
- Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
- Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
- Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
- Choose and verify the input protocol. AWS lists RTMP push and RTMP pull input types for MediaLive. The cited input reference says MediaLive does not support RTMPS inputs; confirm the current supported formats and behavior for your account and region before designing around a secure RTMP contribution feed.
- Configure contribution and output. The AWS workflow example uses FFmpeg as an RTMP contribution encoder, MediaLive to produce an HLS adaptive-bitrate output, and MediaPackage downstream. Define the encodes, output groups, and destination in the current AWS workflow rather than assuming the 2019 example matches today’s console or service behavior.
- Plan the delivery edge. The workflow recommends a CDN such as CloudFront in front of MediaPackage for production distribution. Validate playback, access controls, TLS, monitoring, and regional delivery with the intended player and audience.
- Design for failure, not just the happy path. The 2019 workflow example says its FFmpeg contribution stream feeds only one of MediaLive’s two pipelines, creating a redundancy limitation if that input or pipeline fails. Review the current architecture and add appropriate redundancy and monitoring for your availability requirements.
Because the workflow guide was published in 2019, use it as an architectural sequence, not as a guarantee of current console labels or service behavior. Check the current MediaLive input types and supported formats, the AWS RTMP-to-MediaLive-to-MediaPackage workflow example, and the AWS Elemental MediaLive tutorial.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Choose the route that matches your delivery needs
| Route | Best fit | What to plan for |
|---|---|---|
| FFmpeg HLS muxer | A self-hosted pipeline where you want direct control over packaging and can operate the process and HTTP delivery. | Codec compatibility, encoding if needed, segment and playlist settings, file permissions, storage cleanup, monitoring, and CDN or HTTP(S) delivery. |
| SRS with HLS enabled | A self-hosted RTMP server that can generate HLS as part of its configured ingest service. | Version-specific configuration, first-segment startup delay, operational responsibility, and latency expectations. |
| AWS MediaLive and MediaPackage | A managed workflow for encoding and packaging, including adaptive-bitrate HLS output and downstream delivery integration. | Current service behavior, protocol support, architecture and redundancy, CDN setup, and the managed services and configuration your workflow requires. |
Compare options against your actual player coverage, whether one rendition is enough, acceptable end-to-end delay, geographic distribution, and who will operate and recover the system. HLS can work well for HTTP and CDN delivery, but it is not automatically the right choice when very low latency is the overriding requirement.
Free tools Windows power users keep installed
One-click scans. No signup required.
Best Value
- 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
- Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
- Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
- HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
- What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.
Troubleshoot a live RTMP-to-HLS pipeline
- FFmpeg cannot connect: Check the RTMP URL, host reachability, application and stream name, credentials if required, and whether the publisher is actually sending. Review FFmpeg’s connection and input logs.
- No playlist or segments appear: Confirm FFmpeg is still running, the output directory exists, and the process can write there. Check logs for muxer, permission, or disk errors.
- The playlist loads but playback fails: Fetch a segment URL listed in the playlist. Check that the server exposes the same paths FFmpeg writes, files are readable, HTTP(S) access is allowed, and the server supplies suitable media types.
- Audio or video is missing: Inspect the input stream list and codecs. The copy settings preserve what is present; they do not create a missing track or convert an incompatible codec. Use explicit maps and encoding only where needed.
- Segments are longer than expected: Inspect keyframe cadence and GOP structure. FFmpeg cuts at the next keyframe after the target has passed, so changing
hls_timealone may not produce the desired segment lengths. - Old segments vanish while a viewer is fetching them: Review playlist size and segment deletion/retention separately. Keep unreferenced files long enough for active clients to finish downloading.
- SRS playback starts late: Wait for the initial HLS segment to be generated before opening the playlist. SRS explicitly notes that playback can fail if requested before that first segment exists.
- AWS ingest will not connect: Confirm the configured input is supported RTMP rather than RTMPS, and check the current MediaLive input reference. In the documented workflow example, MediaLive is started before the upstream sender; verify the current sequence for your implementation.
Operational checks before going live
- Test the exact codecs and player devices you intend to support, including audio behavior.
- Check that playlist updates and segment downloads continue under a sustained live input.
- Set storage cleanup and retention deliberately; do not treat playlist length as the only cleanup control.
- Use HTTPS, suitable access controls, and a CDN where your distribution and security needs call for them.
- Monitor ingest, packaging, delivery, disk capacity, and recovery behavior. Decide how the service should respond if the RTMP source or a processing component fails.
- Measure latency end to end with the intended player and configuration instead of assuming a segment target equals viewer delay.
Or let it run in the cloud
StreamNeo is a different option for a specific job: keeping uploaded videos live on a YouTube channel around the clock. It does not convert an incoming RTMP feed to HLS, and it is not a camera-based live encoder. Upload a recording or build a playlist, add your YouTube stream key, and go live; StreamNeo loops the uploaded videos from the cloud, so nothing has to stay on at home.
- Upload a recording or create a playlist.
- Add your YouTube stream key once.
- Go live; StreamNeo loops the video from its cloud service.
For that YouTube use case, the stream can keep going with your computer off, supports uploaded quality up to 4K 60fps at one flat price per slot, and automatically recovers if YouTube drops the stream. The first day is free with no card. Monthly pricing is $9.99 per month. Learn more at StreamNeo, or start the free first day.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




