{"id":9801,"date":"2025-08-08T16:58:54","date_gmt":"2025-08-08T21:58:54","guid":{"rendered":"https:\/\/infiniteuploads.com\/?post_type=docs&#038;p=9801"},"modified":"2026-03-31T23:54:52","modified_gmt":"2026-04-01T04:54:52","password":"","slug":"video-transcoding-with-infinite-uploads","status":"publish","type":"docs","link":"https:\/\/infiniteuploads.com\/docs\/video-transcoding\/video-transcoding-with-infinite-uploads\/","title":{"rendered":"Video Transcoding with Infinite Uploads"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><p>Infinite Uploads includes video transcoding at no extra cost with your storage and CDN plan. When you upload a video through the Infinite Uploads Video Library, it gets automatically transcoded into multiple resolutions so your visitors get the right quality for their device and connection speed. The original file stays intact in cloud storage.<\/p>\n\n\n\n<p>This is not the same as uploading a video to the WordPress Media Library. Videos uploaded directly to the Media Library are stored and served through Infinite Uploads cloud storage and CDN, but they are not transcoded. Transcoding only happens for videos uploaded through the Video Library.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-transcoding-works\">How Transcoding Works<\/h2>\n\n\n\n<p>When you upload a video to the Video Library, Infinite Uploads creates multiple versions of that video at different resolutions. Each version is encoded at a bitrate optimized for that resolution. During playback, the player automatically switches between these versions based on the viewer&rsquo;s bandwidth, so someone on a mobile connection gets a smaller file and someone on fiber gets full quality.<\/p>\n\n\n\n<p>Transcoding happens in the background. You don&rsquo;t need to wait for it to finish before doing other things in WordPress. A progress bar in the Video Library shows you how far along each video is.<\/p>\n\n\n\n<p>If you upload a video at 720p, the system won&rsquo;t create versions at 1080p or higher. Resolutions larger than the original are always skipped.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"available-resolutions\">Available Resolutions<\/h2>\n\n\n\n<p>You control which resolutions get created in the Video Settings under the Encoding tab. More resolutions give viewers a smoother experience when their connection fluctuates, but each additional resolution uses more storage.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Resolution<\/strong><\/td><td><strong>Dimensions (16:9)<\/strong><\/td><td><strong>Bitrate<\/strong><\/td><td><strong>Label<\/strong><\/td><\/tr><tr><td>240p<\/td><td>426 x 240<\/td><td>600 kbps<\/td><td>Low quality, minimal bandwidth<\/td><\/tr><tr><td>360p<\/td><td>640 x 360<\/td><td>800 kbps<\/td><td>Standard definition<\/td><\/tr><tr><td>480p<\/td><td>854 x 480<\/td><td>1,400 kbps<\/td><td>Enhanced standard definition<\/td><\/tr><tr><td>720p<\/td><td>1280 x 720<\/td><td>2,800 kbps<\/td><td>HD<\/td><\/tr><tr><td>1080p<\/td><td>1920 x 1080<\/td><td>5,000 kbps<\/td><td>Full HD<\/td><\/tr><tr><td>1440p<\/td><td>2560 x 1440<\/td><td>8,000 kbps<\/td><td>2K QHD (not yet available)<\/td><\/tr><tr><td>2160p<\/td><td>3840 x 2160<\/td><td>25,000 kbps<\/td><td>4K UHD (not yet available)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>The 1440p and 2160p options are currently disabled in the settings UI. These will become available in a future update.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"configuring-encoding-settings\">Configuring Encoding Settings<\/h2>\n\n\n\n<p>To choose which resolutions your videos are transcoded into:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In your WordPress dashboard, go to <strong>Infinite Uploads &gt; Video Settings<\/strong>.<\/li>\n\n\n\n<li>Click the <strong>Encoding<\/strong> tab.<\/li>\n\n\n\n<li>Check or uncheck the resolutions you want enabled.<\/li>\n\n\n\n<li>Click <strong>Save Settings<\/strong>.<\/li>\n<\/ol>\n\n\n\n<p>These settings apply to all future uploads. Videos that have already been transcoded are not affected by changes here.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-video-player\">The Video Player<\/h2>\n\n\n\n<p>Infinite Uploads includes a customizable video player that handles adaptive bitrate playback automatically. The player settings are in the Video Settings page under the Player tab.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"player-color\">Player Color<\/h3>\n\n\n\n<p>Set the primary accent color for the player controls (play button, progress bar, volume slider). Use the color picker in the Player tab to match your site&rsquo;s branding.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"direct-play\">Direct Play<\/h3>\n\n\n\n<p>When enabled, videos can be played directly in a browser using the video URL. Anyone with the URL or video ID can watch the video. Toggle this on or off with the Enable Direct Play switch.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"player-language\">Player Language<\/h3>\n\n\n\n<p>The player UI supports 30 languages. Select your default language from the dropdown in the Player tab. This controls the text shown on player controls and tooltips.<\/p>\n\n\n\n<p><strong>Player Controls<\/strong><\/p>\n\n\n\n<p>You can show or hide individual controls on the player. Each control has its own checkbox:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Play\/Pause<\/strong> and <strong>Center Play Button<\/strong><\/li>\n\n\n\n<li><strong>Volume<\/strong> and <strong>Mute<\/strong><\/li>\n\n\n\n<li><strong>Picture-in-Picture<\/strong><\/li>\n\n\n\n<li><strong>Settings<\/strong> (quality selector)<\/li>\n\n\n\n<li><strong>Captions<\/strong><\/li>\n\n\n\n<li><strong>Current Time<\/strong> and <strong>Duration<\/strong><\/li>\n\n\n\n<li><strong>10s Backward<\/strong> and <strong>10s Forward<\/strong><\/li>\n\n\n\n<li><strong>Progress Bar<\/strong><\/li>\n\n\n\n<li><strong>Full Screen<\/strong><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"embedding-videos\">Embedding Videos<\/h2>\n\n\n\n<p>There are two ways to embed a video from the Video Library on your site.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"gutenberg-block\">Gutenberg Block<\/h3>\n\n\n\n<p>In the block editor, add the Infinite Uploads Video block. You can upload a new video directly from the block or select an existing one from your Video Library. The block supports autoplay, loop, muted, and preload options in the block settings sidebar.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"shortcode\">Shortcode<\/h3>\n\n\n\n<p>Use the shortcode in any post, page, or widget:<\/p>\n\n\n\n<div class=\"betterdocs-code-snippet-wrapper theme-light betterdocs-code-snippet-f42921ef\" id=\"betterdocs-code-snippet-f42921ef\" data-language=\"javascript\" data-copy-button=\"true\">\n\n            <div class=\"betterdocs-code-snippet-header betterdocs-file-preview-header\">\n        <div class=\"betterdocs-file-preview-left\">\n                            <div class=\"betterdocs-traffic-lights\">\n                    <span class=\"traffic-light traffic-light-red\"><\/span>\n                    <span class=\"traffic-light traffic-light-yellow\"><\/span>\n                    <span class=\"traffic-light traffic-light-green\"><\/span>\n                <\/div>\n            \n            <div class=\"betterdocs-file-info\">\n                \n                            <\/div>\n        <\/div>\n\n        <div class=\"betterdocs-file-preview-right\">\n                            <div class=\"betterdocs-code-snippet-copy-container\">\n                    <button class=\"betterdocs-code-snippet-copy-button\" type=\"button\" data-clipboard-target=\"#betterdocs-code-snippet-f42921ef .betterdocs-code-snippet-code code\" aria-label=\"Copy code to clipboard\">\n                        <svg width=\"16\" height=\"16\" viewbox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                            <path d=\"M16 1H4C2.9 1 2 1.9 2 3V17H4V3H16V1ZM19 5H8C6.9 5 6 5.9 6 7V21C6 22.1 6.9 23 8 23H19C20.1 23 21 22.1 21 21V7C21 5.9 20.1 5 19 5ZM19 21H8V7H19V21Z\" fill=\"currentColor\"><\/path>\n                        <\/svg>\n                    <\/button>\n                                    <\/div>\n                    <\/div>\n        <\/div>\n    \n    <div class=\"betterdocs-code-snippet-content\">\n        \n        <pre class=\"betterdocs-code-snippet-code language-javascript\"><code>[infinite-uploads-vid id=\"YOUR-VIDEO-ID\"]<\/code><\/pre>\n    <\/div>\n<\/div>\n\n<script type=\"text\/javascript\">\ndocument.addEventListener('DOMContentLoaded', function() {\n    \/\/ Initialize copy functionality for this specific snippet\n    const snippet = document.getElementById('betterdocs-code-snippet-f42921ef');\n    if (snippet && window.BetterDocsCodeSnippet) {\n        window.BetterDocsCodeSnippet.initCopyButton(snippet);\n    }\n});\n<\/script>\n\n\n\n<p>Replace YOUR-VIDEO-ID with the actual video ID, which you can find in the Video Library. The embed code is also available in each video&rsquo;s detail view under the Embed Code tab.<\/p>\n\n\n\n<p>The shortcode supports these optional attributes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>autoplay &mdash; &ldquo;true&rdquo; or &ldquo;false&rdquo; (default: false)<\/li>\n\n\n\n<li>loop &mdash; &ldquo;true&rdquo; or &ldquo;false&rdquo; (default: false)<\/li>\n\n\n\n<li>muted &mdash; &ldquo;true&rdquo; or &ldquo;false&rdquo; (default: false)<\/li>\n\n\n\n<li>preload &mdash; &ldquo;true&rdquo; or &ldquo;false&rdquo; (default: true)<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"video-library-overview\"><strong>Video Library Overview<\/strong><\/h2>\n\n\n\n<p>The Video Library page in your WordPress dashboard shows all your uploaded videos with their current status. Each video card displays a thumbnail, title, video length, and storage size.<\/p>\n\n\n\n<p>Videos go through several stages after upload:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Uploaded<\/strong> &mdash; File received and stored<\/li>\n\n\n\n<li><strong>Processing<\/strong> &mdash; Preparing for transcoding<\/li>\n\n\n\n<li><strong>Transcoding<\/strong> &mdash; Creating encoded versions (progress bar visible)<\/li>\n\n\n\n<li><strong>Finished<\/strong> &mdash; Ready to embed and stream<\/li>\n<\/ol>\n\n\n\n<p>From the Video Library, you can also change a video&rsquo;s title, select a different thumbnail from the auto-generated options, view the embed code, and delete videos.<\/p>\n\n\n\n<p>The Video Cloud Overview panel (on the main Infinite Uploads settings page) shows your total video count, total video storage used, and video bandwidth consumed for the current calendar month.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"video-library-vs-media-library\"><strong>Video Library vs. Media Library<\/strong><\/h2>\n\n\n\n<p>This is the most common point of confusion. They do different things.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><tbody><tr><td><strong>Video Library<\/strong><\/td><td><strong>Media Library<\/strong><\/td><\/tr><tr><td>Videos are transcoded into multiple resolutions<\/td><td>Videos are stored as-is (single file)<\/td><\/tr><tr><td>Adaptive bitrate streaming via the built-in player<\/td><td>Standard WordPress video playback<\/td><\/tr><tr><td>Upload through the Video Library page or Gutenberg block<\/td><td>Upload through the standard Media Library<\/td><\/tr><tr><td>Embed with the IU Video block or shortcode<\/td><td>Embed with the standard Video block or file URL<\/td><\/tr><tr><td>View count tracking<\/td><td>No view tracking<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Both options store and serve files through Infinite Uploads cloud storage and CDN. The difference is transcoding and the player. If you need adaptive streaming and a branded player, use the Video Library. If you just need a video file hosted in the cloud, the Media Library works fine.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"troubleshooting\">Troubleshooting<\/h2>\n\n\n\n<p><strong>Video stuck on &ldquo;Processing&rdquo; or &ldquo;Transcoding&rdquo;<\/strong><\/p>\n\n\n\n<p>Transcoding time depends on the video&rsquo;s length and resolution. A 10-minute 1080p video may take several minutes. If it&rsquo;s been stuck for more than 30 minutes, check the Video Library for an error status. If the status shows an error, try uploading the video again. Contact support if the problem persists.<\/p>\n\n\n\n<p><strong>Video doesn&rsquo;t play after embedding<\/strong><\/p>\n\n\n\n<p>Make sure the video has finished transcoding (status: Finished). If you&rsquo;re using the shortcode, confirm the video ID is correct. Check that Direct Play is enabled in Video Settings if you&rsquo;re linking to the video URL directly.<\/p>\n\n\n\n<p><strong>Transcoded resolutions are fewer than expected<\/strong><\/p>\n\n\n\n<p>The system skips any resolution higher than the original video. If you uploaded a 720p video, you won&rsquo;t get 1080p, 1440p, or 2160p versions. Check your source file&rsquo;s resolution before uploading.<\/p>\n\n\n\n<p><strong>Video Library page says &ldquo;Video library not yet connected&rdquo;<\/strong><\/p>\n\n\n\n<p>Your Infinite Uploads account needs to be connected and active. Go to the main Infinite Uploads settings page and verify your connection status. If you&rsquo;re on a plan that doesn&rsquo;t include video, you&rsquo;ll need to upgrade.<\/p>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Infinite Uploads includes video transcoding at no extra cost with your storage and CDN plan. When you upload a video through the Infinite Uploads Video Library, it gets automatically transcoded into multiple resolutions so your visitors get the right quality for their device and connection speed. The original file stays intact in cloud storage. This [&hellip;]<\/p>\n","protected":false},"author":3787,"featured_media":10690,"template":"","meta":{"_acf_changed":false,"wds_primary_doc_category":0,"wds_primary_doc_tag":0,"footnotes":""},"doc_category":[165],"doc_tag":[],"class_list":["post-9801","docs","type-docs","status-publish","has-post-thumbnail","hentry","doc_category-video-transcoding"],"acf":[],"year_month":"2026-04","word_count":1097,"total_views":"512","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"name":"Blake Whittle","author_nicename":"blakew","author_url":"https:\/\/infiniteuploads.com\/blog\/author\/blakew\/"},"doc_category_info":[{"term_name":"Video &amp; Transcoding","term_url":"https:\/\/infiniteuploads.com\/docs-category\/video-transcoding\/"}],"doc_tag_info":[],"knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/docs\/9801","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/users\/3787"}],"version-history":[{"count":0,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/docs\/9801\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/media\/10690"}],"wp:attachment":[{"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/media?parent=9801"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/doc_category?post=9801"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/infiniteuploads.com\/api\/wp\/v2\/doc_tag?post=9801"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}