If FFmpeg is repeating one video and sending its already-encoded audio and video onward, VM.Standard.A1.Flex with 1 OCPU and 6 GB RAM is a reasoned trial starting point. It is not a benchmark or a promise that your stream will stay up; the right shape depends chiefly on whether you copy the streams or re-encode them.
If you transcode, apply demanding filters, or run several streams together, the workload changes enough that you should test representative media and size from observed CPU, memory and network use. No instance choice can remove the need to check compatibility, regional capacity and your tolerance for interruptions.
First identify what FFmpeg is doing
The phrase “looping a video” describes the source behaviour, not the amount of compute needed to produce the outgoing stream. The first sizing question is whether FFmpeg is passing the existing encoded streams through unchanged, or decoding them and encoding new output.
For a compatible pre-encoded file, stream copy avoids the encode step. FFmpeg’s -stream_loop input option can repeat an input, while -c copy tells FFmpeg to copy streams rather than transcode them. The options do different jobs: looping determines repetition; copy determines whether encoded audio and video are re-encoded. See the FFmpeg command-line documentation for the option behaviour and placement rules.
That distinction matters for a devotional playlist, a study-room ambience file or a local information loop. If your source is already in a format suitable for your output and you do not need to alter its picture or sound, a stream-copy workflow can have a very different CPU profile from converting every frame. It still has to read the file, keep the process running and send the stream, but you are not asking the CPU to encode each frame anew.
A command might use an input-loop setting and copy the streams to the output, but do not paste a generic example into a live session without checking the file’s streams, container and YouTube ingest settings. A source whose timestamps, codecs or audio layout do not suit the output may need adjustment. If you change resolution, frame rate, codec, bitrate, add a logo, or normalise audio in FFmpeg, you have moved away from simple stream copy and should test the exact command.
If you are preparing a source file before the live run, the practical choices are covered in how to make video files smaller for a YouTube 24/7 stream. Shrinking or converting a file beforehand is a separate workload from sending a finished file live, and can help keep the always-on process simpler.
Why the instance shape matters
An instance shape sets the resources available to the virtual machine: processor allocation, memory and network allocation, among other characteristics. More resources do not automatically fix an unsuitable media workflow. An undersized CPU can struggle with encoding, but adding CPU to a stream-copy task may not address an unstable network path, incompatible codec or a script that exits at the end of its input.
Oracle describes VM.Standard.A1 as Arm-based compute using an Ampere Altra Q80-30 processor. Its shape reference lists A1.Flex allocations from 1 to 76 OCPUs, with corresponding memory options; it also gives shape-level maximums for memory and network bandwidth. Those are ceilings for the shape family, not allocations assigned to every A1 instance. The configured OCPU count determines the resources for the instance. Check Oracle’s Compute Shapes reference for current details rather than treating the family maximum as what a small allocation receives.
The architecture matters as much as the nominal size. A1 is Arm-based, so check that the operating system image, FFmpeg build, codec libraries and any scripts you rely on are available and work on Arm. Oracle’s instance creation guide identifies the A1 architecture and notes that Ampere A1/A2 shapes do not support Windows. If a tool in your workflow assumes an x86 build, verify an Arm-compatible alternative before setting up the broadcast.
For a creator deciding between a spare computer and a cloud VM, this is also an operating choice rather than just a spec-sheet choice. A machine at home may be easier to inspect, while a cloud instance avoids tying up that local computer but requires you to manage the instance and its network configuration. The trade-offs are discussed in spare PC or cloud streaming service for Indian YouTube creators. Whichever route you choose, check the full path from source file to YouTube, not only the CPU line.
A1 Flex with 1 OCPU and 6 GB as a trial start
For one pre-encoded file, a single loop and stream copy, VM.Standard.A1.Flex configured with 1 OCPU and 6 GB RAM is a sensible trial point to investigate. The recommendation is reasoned from the relatively modest processing task; it is not based on a cited workload benchmark, and there is no evidence here that it will sustain every codec, file, region or continuous-stream requirement. Treat it as a place to begin measuring, not a production sizing answer.
Oracle’s Always Free resource documentation describes an allowance of 1,500 A1 OCPU-hours and 9,000 GB-hours monthly for eligible tenancies, equivalent to 2 OCPUs and 12 GB of memory. That is a monthly resource entitlement, not an unlimited instance or a promise that a particular configuration can be created whenever you want. Oracle says Always Free compute instances must be created in the tenancy’s home region. The Always Free Resources page also explains that an “out of host capacity” error means temporary lack of Always Free shapes in that home region; waiting or trying another availability domain may help.
If you intend to use the free allowance, check the tenancy’s current usage and allocation before planning around a continuous workload. Oracle’s stated equivalent entitlement is shared within the tenancy, so other eligible A1 instances draw from the same pool. A trial configuration that fits the allowance on paper can still be unavailable in the home region at the time you request it. Keep a fallback plan, and do not mistake a failed launch for proof that the workload itself is too large.
A paid deployment has a different constraint: quota and service limits vary by account and scope. Oracle advises checking the applicable limits; the Limits by Service page is the relevant starting point before planning a larger allocation. Availability and price are separate matters, and neither can be inferred from a shape’s listed maximums. The research for this article does not establish a current price or a guaranteed capacity for a particular region.
When filters, parallel streams or encoding change the choice
Re-encoding changes the main sizing question from “can it pass these packets along?” to “can it decode, transform if needed, and encode the output at the required rate?” Demand can vary with the input codec, output codec, resolution, frame rate, bitrate and encoder settings. There is no responsible fixed OCPU requirement without those details and a test using the actual file and command.
Filters add work, sometimes substantially. Scaling, denoising, compositing an on-screen clock or logo, colour processing and audio effects all change what FFmpeg must do. A small overlay may be a different burden from a complex filter chain; the number of filters alone does not express their cost. If your channel needs a clock or branding, include those filters in the trial rather than testing a bare stream and assuming the results carry over.
Multiple simultaneous streams also multiply or reshape the workload. Two copies may each need file reads and separate network outputs; two transcodes may also need separate decode and encode work. Shared inputs, different output settings and process scheduling affect the result, so test the intended number of streams together. Do not extrapolate a single-stream test by simply multiplying an OCPU count.
Hardware encoding is not a shortcut to assume. FFmpeg’s documentation makes hardware acceleration dependent on support in the FFmpeg build, the codec path, the device and its driver, and notes that it may be unavailable or add overhead in some workflows. The research available here does not establish a GPU on A1. If a hardware encoder is a requirement, identify an appropriate device-backed OCI configuration and verify that the device and driver are actually available to your instance before selecting a shape. A CPU-only stream-copy loop does not need a GPU by default.
For a channel whose finished loop is already prepared, spending time on source validation may be more useful than provisioning a larger machine. If you create or adapt footage in a cloud workflow, how to edit video in the cloud can help distinguish preparation work from the live process. Keep heavy editing out of the continuous stream process unless it is genuinely part of the output you need.
Run a representative media test
A useful test begins with the same source and command you expect to leave running. Include the real audio and video streams, the loop behaviour, any filters, and the intended output settings. A short silent clip with no overlay does not represent a music stream with an audio filter; a stream-copy test does not answer whether a transcode can keep pace.
Before launching, inspect the media so you know what FFmpeg is being asked to handle. Record the codecs, resolution, frame rate, audio format and bitrate where available. These are not just metadata for a notes file: they explain why a result may differ when you swap a source later. If a playlist contains files made in different ways, test the most demanding plausible item as well as a typical one.
Run the command long enough to observe normal operation and likely variation, but do not treat a brief successful start as evidence of overnight reliability. Watch whether FFmpeg reports dropped or late frames, whether the output remains connected, whether the process exits at a file boundary and whether the loop behaves as intended. Test the YouTube ingest path privately or with an appropriate test setup before relying on it for a public schedule, and verify the current YouTube guidance for stream configuration.
Change one factor at a time when you investigate a problem. First establish whether the issue is CPU saturation, memory pressure, network interruption, an input timestamp or codec issue, or a process-management failure. Increasing the shape before identifying the bottleneck can add cost without fixing a disconnect or a bad command. Keep a copy of the tested command and file details, so a later change in source or filter is recognised as a new workload.
Measure CPU, memory and network use
During the test, observe the VM rather than guessing from the shape label. On a Linux instance, tools such as top or htop can show processor activity, while free and system monitoring can help identify memory pressure. Use the monitoring facilities available in your tenancy to review network activity and instance status. Exact command output and dashboard names depend on the operating system and configuration, so focus on sustained behaviour during the actual run rather than one snapshot.
For a stream-copy process, CPU should be interpreted in context: a short spike while starting is not the same as continued saturation. For a transcode, sustained high CPU can indicate that the chosen encoder settings are too demanding for the allocation. If processing cannot keep pace, consider a simpler preset, a lower output resolution or frame rate if appropriate, or a larger compatible shape, then retest. Do not assert a capacity from a short sample.
Memory use should be checked alongside the operating system and other running jobs. A media process can coexist with logs, monitoring and helper scripts, and the VM needs room for those too. If memory pressure appears, investigate what else is running and how the command buffers or filters are configured before increasing RAM. One test with a single media file cannot settle the needs of several streams.
Network use has two sides: sufficient configured allocation and a stable route to the ingest point. Oracle’s A1 reference includes a maximum network bandwidth per OCPU and family ceiling, but those figures are not the bandwidth assigned to every instance or proof of end-to-end throughput. Check the allocation associated with your selected shape and monitor whether the outgoing stream behaves consistently. A configured maximum cannot guarantee the path from the region to YouTube will never be interrupted.
Keep a simple test record: shape, region, operating system, FFmpeg build, source properties, command, filter chain, stream count and observations for CPU, memory and network. When the stream changes, repeat the test. That gives you a defensible reason to remain at the starting point, change settings or scale up, instead of relying on an unverified recommendation.
Operating the stream beyond the first test
A successful media test only answers whether that run behaved acceptably under the conditions you observed. A 24/7 channel also needs a plan for process exit, instance reboot, network loss, log growth and changes to the source playlist. Configure and test a restart approach, and verify that it does not create an unintended new live event or leave the broadcast disconnected without notice. A larger instance will not supervise a process that has stopped.
Separate the media workload from the reliability plan. Keep source files in a known location, protect access to the stream key, check logs without exposing credentials, and decide how you will be alerted when the process stops. Test recovery rather than assuming an automatic restart is equivalent to a successful YouTube reconnection. Your tolerance for a brief interruption may differ between a local news loop and a background music channel, so make the decision against your own schedule and audience needs.
If managing a virtual machine, updates, scripts and recovery is more operational work than you want, another approach is to use a workflow that runs the uploaded video without keeping your own computer on. StreamNeo turns an uploaded video into a YouTube live stream, so the specific burden of tending a personal machine for that file loop is removed; it is YouTube-only, and you should still decide whether that fits your channel and operating needs. For a self-managed Oracle setup, retain control of the tests and restart behaviour described above.
Before committing, compare the operating options on the pricing page. When the file and channel are ready, start free — 24-hour trial, no card.
FAQ
Can I run a 24/7 looping YouTube stream with FFmpeg on Oracle Cloud Free Tier?
Potentially, if your tenancy has the applicable Always Free A1 allowance and the instance can be created in its home region. The allowance does not guarantee immediate capacity or prove that a particular file and command will run continuously; test the real workload and check current Oracle documentation.
Is 1 OCPU and 6 GB enough for my stream?
It is a reasoned trial starting point for one pre-encoded loop sent with stream copy, not a measured benchmark or guaranteed production configuration. Re-encoding, filters, multiple streams and other work can change CPU and memory needs, so measure those conditions before deciding.
Does A1 include hardware encoding?
The research here does not establish a hardware encoding device on A1. Hardware acceleration depends on the FFmpeg build, codec, device and driver, so verify that the required device and driver are available on the configuration you choose.
Should I use a larger instance to avoid interruptions?
A larger allocation can help when measurements show a CPU or memory bottleneck, but it cannot by itself prevent network, process or YouTube ingest interruptions. Identify the cause, test recovery behaviour and check Oracle’s current quota and capacity before scaling.