Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
VGSources
church streaming

How to Use FFmpeg to Stream a Church’s Prerecorded Sermons from a CSV Playlist to YouTube

A CSV is not an FFmpeg playlist. Learn how to parse it into a concat list, check sermon-file compatibility, configure YouTube Live, and handle common failures.

By VGSources Team 7 min read
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

FFmpeg cannot read an ordinary CSV as a playlist. First parse the CSV and generate an FFmpeg concat list, then send that sequence to the stream URL and key for a YouTube Live event. This works best when the sermon files have compatible streams and formats; otherwise, normalize or re-encode them and test before the service.

Before you begin

  • Install an FFmpeg build that includes the needed demuxers, codecs, and RTMPS support. Check the build with ffmpeg -version; available features vary by build.
  • Confirm the YouTube channel is verified and has had no live-streaming restriction in the preceding 90 days. YouTube’s eligibility guidance also states that the minimum age to live stream is 16. See YouTube’s live-streaming eligibility guidance.
  • Confirm the church has permission to stream every sermon, music track, image, and other material in the program. A recording being available to the church does not by itself establish permission to broadcast it publicly.
  • Keep the CSV and media in a stable location for the duration of the event, and ensure the computer’s internet upload capacity exceeds the stream’s total bitrate with headroom.

Prepare the CSV and sermon files

Inspect the actual CSV before writing a parser: its header names, delimiter, quoting rules, path format, and intended order are not defined here. Treat the following as an adaptable illustration, not a required schema:

order,video
1,media/sermon-01.mp4
2,media/sermon-02.mp4

Use a CSV-aware parser rather than splitting each line on commas; quoted CSV fields can contain commas. Validate each row, check that each referenced file exists and is readable, and preserve the intended order. Do not interpolate arbitrary CSV values into a shell command or trust them as paths.

Generate an FFmpeg concat list

The concat demuxer expects a text file in FFmpeg’s own syntax, not a CSV. For compatible files, the generated list can look like this:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter
  • 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.
ffconcat version 1.0
file 'media/sermon-01.mp4'
file 'media/sermon-02.mp4'

If you rely on automatic format recognition, put the exact ffconcat version 1.0 header on the first line. Escape quotes and unusual path characters according to FFmpeg’s concat-list rules. Keep relative paths simple and based on the working directory from which FFmpeg will run. The concat demuxer’s safe mode rejects unsafe paths by default; keep that protection where possible. If trusted absolute paths genuinely require -safe 0, constrain the parser to approved files because that setting accepts any filename. See the FFmpeg concat demuxer documentation.

Check whether the sermon files can be concatenated without re-encoding

Before choosing stream copy, probe representative files and compare their stream layout, codecs, time bases, and durations. FFmpeg’s concat demuxer expects the files to have the same streams, codecs, and time bases. It uses durations to calculate where later files begin, so inconsistent or inaccurate durations can create timestamp gaps or audiovisual artifacts.

Rank #2
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter
  • 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.
Method Use it when Trade-off
Concat demuxer The input files have compatible streams, codecs, and time bases. Can avoid re-encoding, but incompatible sources or problematic durations may cause errors or artifacts.
Concat filter The files need to be decoded and made consistent through re-encoding. Requires encoding choices and more processing; test output for your media before relying on it.

FFmpeg documents the concat filter as an option when re-encoding is needed; see its concat FAQ. There is no universal command that safely joins every collection of sermon files without checking them first.

Create the YouTube Live event and protect its key

  1. In YouTube Studio, open Live Control Room and create or schedule the stream.
  2. Open the event’s stream settings and copy its stream URL and stream key. Use the actual event values; do not assume an example endpoint is universal.
  3. Choose RTMPS when available. YouTube recommends it; RTMPS is RTMP protected by TLS/SSL. See YouTube’s RTMPS guidance.
  4. Treat the stream key like a password. YouTube describes stream keys as a stream’s “password and address.” Do not publish a real key in a script, screenshot, repository, or article. The YouTube Live Control Room setup guide explains where to find stream settings.

Choose output settings for the source and YouTube

For RTMP or RTMPS, YouTube’s current encoder guidance lists H.264 video, AAC or MP3 audio, and up to 60 fps. It recommends constant bitrate (CBR), a 2-second keyframe interval, and says not to exceed 4 seconds. Select the bitrate for the output resolution and frame rate using the resolution-specific table on YouTube’s encoder settings page; no single bitrate is right for every sermon file or output format.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter
  • 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.

A straightforward SDR example is H.264 video with AAC audio, CBR, and a 2-second keyframe interval. Match resolution and frame rate to the source when practical, and confirm the settings against YouTube’s current guidance before the event. YouTube also lists HEVC and AV1 with additional format-specific conditions, so do not assume the RTMP/RTMPS example applies unchanged to other formats. HLS has distinct configuration requirements and should not be mixed into this RTMPS workflow.

Send the playlist to YouTube

Use the concat list as the FFmpeg input, then select either stream copy for suitable compatible inputs or an encoding workflow for inputs that need normalization. The output must use the stream URL and key from the event. The shell example below shows the shape of the command, not a universal, ready-to-run command: the exact URL form depends on the value shown in Live Control Room and on the installed FFmpeg build.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray
  • 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
export YT_URL='paste-the-event-stream-url-here'
export YT_KEY='paste-the-event-stream-key-here'

ffmpeg -re -f concat -safe 1 -i sermon-list.ffconcat 
  -c:v copy -c:a copy 
  -f flv "${YT_URL}/${YT_KEY}"

This example assumes the inputs are compatible for stream copy and that the event URL is formatted for the shown URL-plus-key pattern. Verify both assumptions before using it. If your event provides a complete output address that already incorporates the key, adapt the output accordingly rather than appending it twice. If inputs need re-encoding, replace the copy options with a consistent encoding configuration matching YouTube’s current requirements; do not blindly apply one preset to every source.

Environment variables reduce the chance of accidentally saving a key in the command itself, but they are not a complete secret-management solution: local processes or shell history may expose values depending on the system. Restrict access to the machine and avoid sharing terminal output containing credentials.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display
  • 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.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Preview and monitor the live event

  1. Start FFmpeg ahead of the service, allowing time for YouTube to receive the feed.
  2. Check the Live Control Room preview before going live. Confirm the picture, audio, and stream health indicators.
  3. Check that the public live page is accessible as intended, and have an operator monitor the feed during the event.
  4. If FFmpeg exits or the feed stalls, have the operator inspect the process and Live Control Room status, then restart or correct the encoder as needed.

A concat demuxer plays a finite list in sequence. It does not automatically repeat the list or fetch later CSV changes. A continuously repeating schedule requires an explicitly designed wrapper or scheduler, plus monitoring and a restart plan; the right implementation depends on the operating system and how the church wants schedule changes handled. YouTube says streams under 12 hours are automatically archived; confirm the event and account settings and do not assume the same behavior beyond that stated duration. See YouTube’s encoder setup guidance.

Troubleshooting

  • FFmpeg rejects the list or treats it as one filename: Confirm it is a text concat list, not the original CSV; check that the header is exact and on line one if using automatic recognition.
  • “Unsafe file name” or path errors: Check the working directory and relative paths. Prefer safe relative paths; only use -safe 0 for trusted, constrained paths.
  • Concat fails or audio/video changes at a boundary: Compare streams, codecs, time bases, and durations. Use a normalization and re-encoding workflow with the concat filter when sources are not compatible, then test the result.
  • YouTube does not receive the stream: Recheck that you copied the correct event’s URL and key, selected an appropriate output format, and have outbound connectivity. Do not reuse a guessed endpoint.
  • Preview is unstable or drops frames: Check upload headroom and whether the chosen bitrate exceeds available capacity. Compare the output settings with YouTube’s current resolution-specific recommendations.
  • The stream stops at the end of the playlist: That is expected for a finite concat list. Reaching another program or repeating requires a separately planned wrapper or scheduler.

Or let it run in the cloud

If you want the prerecorded sermons to keep playing without leaving a home or church computer running, StreamNeo is a cloud service for keeping a YouTube channel live from uploaded videos. Upload a recording or build a playlist, add the YouTube stream key, and go live. It loops the uploaded videos in the cloud; it does not stream from a camera.

  • Nothing has to stay on at home; the stream runs from the cloud.
  • Your upload streams as made, up to 4K 60fps, at one price per slot, with no re-encode or quality tiers.
  • StreamNeo automatically recovers if YouTube drops the stream.
  • The first day is free with no card, one free day per account.

Each slot includes one always-on stream, 10 GB storage per slot pooled across active slots, 24/7 looping and playlists, automatic recovery, and StreamNeo team support. All plans include the same product; only the billing length changes. Monthly billing is $9.99 per month. See StreamNeo for details, or start the free first day.

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.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Leave a Reply

Your email address will not be published. Required fields are marked *

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from Patch Notes

Recommended PC Tool
Recommended PC Tool
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.