{"id":39211,"date":"2025-11-08T08:48:21","date_gmt":"2025-11-08T16:48:21","guid":{"rendered":"https:\/\/cloudinary.com\/blog\/?p=39211"},"modified":"2025-11-08T08:48:22","modified_gmt":"2025-11-08T16:48:22","slug":"how-to-resize-video-using-ffmpeg","status":"publish","type":"post","link":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/","title":{"rendered":"How to resize video using FFmpeg?"},"content":{"rendered":"\n<p>Video resizing comes up constantly in real projects: generating thumbnails, delivering 720p versions for bandwidth savings, or normalizing uploads to a consistent aspect ratio. Let\u2019s show some practical, production-ready FFmpeg commands you can copy, along with tips to preserve quality and handle odd edge cases.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Question:<\/h2>\n\n\n\n<p><em>Hi folks,<\/em><br><em>I have a bunch of clips in different sizes and orientations, and I need to batch downscale them for web delivery. I\u2019m comfortable with the command line but want to avoid stretching, keep aspect ratio, and control quality. What is the simplest, reliable approach for how to resize video using FFmpeg? Also, how do I handle letterboxing or exact 16:9 outputs without distortion, and what are some safe defaults for codecs and bitrate\/CRF?<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Answer:<\/h2>\n\n\n\n<p>FFmpeg\u2019s scale filter is the backbone of video resizing. The key is to choose a target dimension strategy, then pair it with the right encoder settings for quality and compatibility.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1) Quick start: scale to a target width, preserve aspect ratio<\/h3>\n\n\n\n<p><code>ffmpeg -i input.mp4 -vf \"scale=1280:-2\" -c:v libx264 -crf 22 -preset medium -c:a copy -movflags +faststart output_1280w.mp4<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>scale=1280:-2<\/code> sets width to 1280 and picks an even height automatically to preserve aspect ratio.<\/li>\n\n\n\n<li><code>-c:v libx264<\/code> is a widely supported encoder.<\/li>\n\n\n\n<li><code>-crf 18<\/code> to <code>24<\/code> is a good quality range. Lower is better quality.<\/li>\n\n\n\n<li><code>-c:a copy<\/code> keeps the original audio without re-encoding.<\/li>\n\n\n\n<li><code>-movflags +faststart<\/code> helps web playback by moving <code>moov<\/code> atoms to the start.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2) Resize to fit inside a box without distortion<\/h3>\n\n\n\n<p>Use <code>force_original_aspect_ratio<\/code> to scale down while keeping the aspect ratio intact.<\/p>\n\n\n\n<p><code>ffmpeg -i input.mp4 -vf \"scale=w=1280:h=720:force_original_aspect_ratio=decrease\" -c:v libx264 -crf 22 -preset medium -c:a copy output_fit_1280x720.mp4<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3) Letterbox to a strict 16:9 frame<\/h3>\n\n\n\n<p>If you need exactly 1280&#215;720 output every time, scale down, then pad the rest.<\/p>\n\n\n\n<p><code>ffmpeg -i input.mp4 -vf \"scale=1280:720:force_original_aspect_ratio=decrease,pad=1280:720:(ow-iw)\/2:(oh-ih)\/2,setsar=1\" \\<br>-c:v libx264 -crf 22 -preset medium -c:a copy output_1280x720_letterboxed.mp4<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>pad<\/code> adds black bars if needed, centered using <code>(ow-iw)\/2<\/code> and <code>(oh-ih)\/2<\/code>.<\/li>\n\n\n\n<li><code>setsar=1<\/code> ensures square pixels to avoid display quirks.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">4) Exact crop to 16:9 without black bars<\/h3>\n\n\n\n<p>If letterboxing is not acceptable, crop instead of pad.<\/p>\n\n\n\n<p><code>ffmpeg -i input.mp4 -vf \"crop=w=min(iw\\,ih*16\/9):h=min(ih\\,iw*9\/16),scale=1280:720,setsar=1\" \\<br>-c:v libx264 -crf 21 -preset medium -c:a copy output_16x9_cropped.mp4<\/code><\/p>\n\n\n\n<p>This first crops to the largest 16:9 region that fits the input, then scales to 1280&#215;720.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">5) Quality and compatibility tips<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For the web, output <code>yuv420p<\/code> for broad playback support: add <code>-pix_fmt yuv420p<\/code>.<\/li>\n\n\n\n<li>Control bitrate with CRF and preset. CRF manages quality targets, preset trades CPU for compression efficiency.<\/li>\n\n\n\n<li>Consider content type when picking resolution and bitrate. See <a href=\"https:\/\/cloudinary.com\/guides\/web-performance\/video-encoding-how-it-works-formats-best-practices\">video encoding best practices<\/a> for planning.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">6) Batch resize a folder<\/h3>\n\n\n<pre class=\"wp-block-code\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript shcb-wrap-lines\"><span class=\"hljs-keyword\">for<\/span> f <span class=\"hljs-keyword\">in<\/span> *.mp4; <span class=\"hljs-keyword\">do<\/span>\n\u00a0 ffmpeg -i <span class=\"hljs-string\">\"$f\"<\/span> -vf <span class=\"hljs-string\">\"scale=1280:-2\"<\/span> -c:v libx264 -crf <span class=\"hljs-number\">22<\/span> -preset medium -c:a copy -pix_fmt yuv420p <span class=\"hljs-string\">\"resized_${f}\"<\/span>\ndone<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<h3 class=\"wp-block-heading\">7) When to pick H.264 vs H.265<\/h3>\n\n\n\n<p>H.264 is still the safest default for compatibility. H.265 can save bitrate at the cost of encoding time and limited legacy support. If you are deciding between x264 and x265, this overview helps: <a href=\"https:\/\/cloudinary.com\/guides\/video-formats\/decoding-the-future-x264-vs-x265\">x264 vs x265 guide<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Enhance or offload with Cloudinary<\/h3>\n\n\n\n<p>If you prefer not to manage compute or pipelines yourself, you can upload once and request resized renditions via URL or SDKs. For example, a URL-based transform that scales and letterboxes to 1280&#215;720 could look like:<\/p>\n\n\n\n<p><a href=\"https:\/\/res.cloudinary.com\/demo\/video\/upload\/w_1280,h_720,c_pad,b_black,ar_16:9,q_auto,f_mp4\/sample\"><code>https:\/\/res.cloudinary.com\/demo\/video\/upload\/w_1280,h_720,c_pad,b_black,ar_16:9,q_auto,f_mp4\/sample<\/code><\/a><\/p>\n\n\n\n<p>You can automate this in build systems and UIs, and pair it with format selection and quality tuning.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Common pitfalls to avoid<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Forgetting <code>-pix_fmt yuv420p<\/code> can break playback in some players.<\/li>\n\n\n\n<li>Using odd dimensions. Many codecs prefer even dimensions; -2 in scale helps enforce this.<\/li>\n\n\n\n<li>Over-sharpening or repeatedly re-encoding. Work from the highest quality source available.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">TL;DR<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Use <code>-vf \"scale=WIDTH:-2\"<\/code> to resize while preserving aspect ratio.<\/li>\n\n\n\n<li>Use <code>force_original_aspect_ratio=decrease<\/code> plus pad for an exact frame without distortion.<\/li>\n\n\n\n<li>Use H.264 with <code>-crf<\/code> around 18 to 24 and <code>-preset<\/code> medium for dependable results.<\/li>\n\n\n\n<li>Set <code>-pix_fmt yuv420p<\/code> and <code>-movflags +faststart<\/code> for web compatibility.<\/li>\n\n\n\n<li>If you need managed pipelines and on-the-fly transforms, consider URL-based resizing with a media platform like Cloudinary.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Learn More<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/cloudinary.com\/tools\/mkv-to-mp4\">MKV to MP4 Converter<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudinary.com\/tools\/webm-to-mp4\">WEBM to MP4 Converter<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudinary.com\/guides\/video\/video-as-a-service\">Video as a Service<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/cloudinary.com\/guides\/video\/video-engineering\">Video Engineering<\/a><\/li>\n<\/ul>\n\n\n\n<p>Ready to streamline video transforms and delivery in your apps? <a href=\"https:\/\/cloudinary.com\/users\/register_free\">Create your free Cloudinary account<\/a> and start optimizing today.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Video resizing comes up constantly in real projects: generating thumbnails, delivering 720p versions for bandwidth savings, or normalizing uploads to a consistent aspect ratio. Let\u2019s show some practical, production-ready FFmpeg commands you can copy, along with tips to preserve quality and handle odd edge cases. Question: Hi folks,I have a bunch of clips in different [&hellip;]<\/p>\n","protected":false},"author":88,"featured_media":39212,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_cloudinary_featured_overwrite":false,"footnotes":""},"categories":[1],"tags":[423],"class_list":["post-39211","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-questions"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.6 (Yoast SEO v26.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>How to resize video using FFmpeg?<\/title>\n<meta name=\"description\" content=\"Video resizing comes up constantly in real projects: generating thumbnails, delivering 720p versions for bandwidth savings, or normalizing uploads to a\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to resize video using FFmpeg?\" \/>\n<meta property=\"og:description\" content=\"Video resizing comes up constantly in real projects: generating thumbnails, delivering 720p versions for bandwidth savings, or normalizing uploads to a\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloudinary Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-08T16:48:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-11-08T16:48:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"1100\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"damjanantevski\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"NewsArticle\",\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/\"},\"author\":{\"name\":\"damjanantevski\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/43592e43c12520a1e867d456b1e8cf7e\"},\"headline\":\"How to resize video using FFmpeg?\",\"datePublished\":\"2025-11-08T16:48:21+00:00\",\"dateModified\":\"2025-11-08T16:48:22+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/\"},\"wordCount\":568,\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA\",\"keywords\":[\"Questions\"],\"inLanguage\":\"en-US\",\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/cloudinary.com\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/\",\"url\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/\",\"name\":\"How to resize video using FFmpeg?\",\"isPartOf\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA\",\"datePublished\":\"2025-11-08T16:48:21+00:00\",\"dateModified\":\"2025-11-08T16:48:22+00:00\",\"description\":\"Video resizing comes up constantly in real projects: generating thumbnails, delivering 720p versions for bandwidth savings, or normalizing uploads to a\",\"breadcrumb\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#primaryimage\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA\",\"width\":2000,\"height\":1100},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cloudinary.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to resize video using FFmpeg?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#website\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"name\":\"Cloudinary Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cloudinary.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#organization\",\"name\":\"Cloudinary Blog\",\"url\":\"https:\/\/cloudinary.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"contentUrl\":\"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA\",\"width\":312,\"height\":60,\"caption\":\"Cloudinary Blog\"},\"image\":{\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/43592e43c12520a1e867d456b1e8cf7e\",\"name\":\"damjanantevski\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/3b40c995531fe4d510212a06c9d4fc666d2cb8efbfebc98a94191701accf4817?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/3b40c995531fe4d510212a06c9d4fc666d2cb8efbfebc98a94191701accf4817?s=96&d=mm&r=g\",\"caption\":\"damjanantevski\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How to resize video using FFmpeg?","description":"Video resizing comes up constantly in real projects: generating thumbnails, delivering 720p versions for bandwidth savings, or normalizing uploads to a","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/","og_locale":"en_US","og_type":"article","og_title":"How to resize video using FFmpeg?","og_description":"Video resizing comes up constantly in real projects: generating thumbnails, delivering 720p versions for bandwidth savings, or normalizing uploads to a","og_url":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/","og_site_name":"Cloudinary Blog","article_published_time":"2025-11-08T16:48:21+00:00","article_modified_time":"2025-11-08T16:48:22+00:00","og_image":[{"width":2000,"height":1100,"url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA","type":"image\/jpeg"}],"author":"damjanantevski","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"NewsArticle","@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#article","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/"},"author":{"name":"damjanantevski","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/43592e43c12520a1e867d456b1e8cf7e"},"headline":"How to resize video using FFmpeg?","datePublished":"2025-11-08T16:48:21+00:00","dateModified":"2025-11-08T16:48:22+00:00","mainEntityOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/"},"wordCount":568,"publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA","keywords":["Questions"],"inLanguage":"en-US","copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/cloudinary.com\/#organization"}},{"@type":"WebPage","@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/","url":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/","name":"How to resize video using FFmpeg?","isPartOf":{"@id":"https:\/\/cloudinary.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#primaryimage"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#primaryimage"},"thumbnailUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA","datePublished":"2025-11-08T16:48:21+00:00","dateModified":"2025-11-08T16:48:22+00:00","description":"Video resizing comes up constantly in real projects: generating thumbnails, delivering 720p versions for bandwidth savings, or normalizing uploads to a","breadcrumb":{"@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#primaryimage","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA","width":2000,"height":1100},{"@type":"BreadcrumbList","@id":"https:\/\/cloudinary.com\/blog\/questions\/how-to-resize-video-using-ffmpeg\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cloudinary.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to resize video using FFmpeg?"}]},{"@type":"WebSite","@id":"https:\/\/cloudinary.com\/blog\/#website","url":"https:\/\/cloudinary.com\/blog\/","name":"Cloudinary Blog","description":"","publisher":{"@id":"https:\/\/cloudinary.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cloudinary.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/cloudinary.com\/blog\/#organization","name":"Cloudinary Blog","url":"https:\/\/cloudinary.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","contentUrl":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1649718331\/Web_Assets\/blog\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877\/cloudinary_logo_for_white_bg_1937437aa7_19374666c7_193742f877.png?_i=AA","width":312,"height":60,"caption":"Cloudinary Blog"},"image":{"@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/43592e43c12520a1e867d456b1e8cf7e","name":"damjanantevski","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cloudinary.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/3b40c995531fe4d510212a06c9d4fc666d2cb8efbfebc98a94191701accf4817?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/3b40c995531fe4d510212a06c9d4fc666d2cb8efbfebc98a94191701accf4817?s=96&d=mm&r=g","caption":"damjanantevski"}}]}},"jetpack_featured_media_url":"https:\/\/res.cloudinary.com\/cloudinary-marketing\/images\/f_auto,q_auto\/v1762620467\/how_to_resize_video_using_ffmpeg_featured_image\/how_to_resize_video_using_ffmpeg_featured_image.jpg?_i=AA","_links":{"self":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/39211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/users\/88"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/comments?post=39211"}],"version-history":[{"count":1,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/39211\/revisions"}],"predecessor-version":[{"id":39213,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/posts\/39211\/revisions\/39213"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media\/39212"}],"wp:attachment":[{"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/media?parent=39211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/categories?post=39211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudinary.com\/blog\/wp-json\/wp\/v2\/tags?post=39211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}