<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Ffmpeg on Kuldeep Pisda</title><link>https://kdpisda.in/tag/ffmpeg/</link><description>Recent content in Ffmpeg on Kuldeep Pisda</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 02 May 2026 10:00:00 +0530</lastBuildDate><atom:link href="https://kdpisda.in/tag/ffmpeg/index.xml" rel="self" type="application/rss+xml"/><item><title>A Single Point of Failure, on Purpose: The 600 Dollar Transcoder</title><link>https://kdpisda.in/a-600-dollar-ubuntu-desktop-gpu-transcoder/</link><pubDate>Sat, 02 May 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/a-600-dollar-ubuntu-desktop-gpu-transcoder/</guid><description>&lt;p&gt;vast.ai had shown me exactly what GPU transcoding &lt;em&gt;should&lt;/em&gt; cost — cents per video — and then, in the same fortnight, shown me exactly why I couldn&amp;rsquo;t yet lean the Happy Thoughts platform on it: instances vanished mid-encode, and &amp;ldquo;your video is ready&amp;rdquo; turned into a coin flip. I had a hard number for what the work was worth and a hard no on the way I&amp;rsquo;d been buying it. What I did next is the least fashionable decision in this entire series, and one of the ones I&amp;rsquo;m most sure about.&lt;/p&gt;</description></item><item><title>Renting Strangers' GPUs by the Minute: The vast.ai Experiment</title><link>https://kdpisda.in/serverless-gpu-transcoding-vast-ai/</link><pubDate>Sat, 25 Apr 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/serverless-gpu-transcoding-vast-ai/</guid><description>&lt;p&gt;The free-egress move had rescued the NGO&amp;rsquo;s unit economics and, in the same stroke, handed me back a problem I thought I&amp;rsquo;d permanently outsourced: transcoding. Wasabi wasn&amp;rsquo;t real AWS S3, so AWS MediaConvert couldn&amp;rsquo;t read from it, which meant I was back to encoding video myself with plain &lt;code&gt;ffmpeg&lt;/code&gt; — on CPU boxes that could clear maybe 30 to 40 videos a day against an inbound firehose of 150-plus. I needed GPU-speed encoding. I owned zero GPUs. And I worked for an organization that had just spent a week panicking about a four-figure CDN bill, so &amp;ldquo;let me buy a rack of NVIDIA cards&amp;rdquo; was not a sentence I could say out loud in a budget meeting.&lt;/p&gt;</description></item><item><title>150 Videos a Day Buried Our CPU Transcoders, So I Stopped Encoding In-House</title><link>https://kdpisda.in/cpu-transcoding-too-slow-aws-mediaconvert/</link><pubDate>Sat, 04 Apr 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/cpu-transcoding-too-slow-aws-mediaconvert/</guid><description>&lt;p&gt;In the last chapter we owned the whole video pipeline: content uploaded to an S3 ingest bucket, a Celery worker on ECS ran ffmpeg to build the adaptive-bitrate ladder, and CloudFront served the HLS chunks. It worked beautifully the day I demoed it with three test videos. Then the content team found the bulk uploader.&lt;/p&gt;
&lt;p&gt;I opened Grafana on a Tuesday and the &lt;code&gt;transcode_video&lt;/code&gt; queue depth was a straight diagonal line, climbing since nine that morning. Not a spike that drains — a line that only went up. The team had discovered they could select a course&amp;rsquo;s entire back-catalogue and push it in one sitting, and they were doing exactly what a good content team should do: 150-plus videos before lunch. My CPU workers were going to be chewing on that pile until Friday.&lt;/p&gt;</description></item><item><title>A 20-Minute Video Weighed 1.2 GB, So We Built Our Own Streaming</title><link>https://kdpisda.in/in-house-video-streaming-ffmpeg-s3-cloudfront-ecs/</link><pubDate>Sat, 28 Mar 2026 10:00:00 +0530</pubDate><guid>https://kdpisda.in/in-house-video-streaming-ffmpeg-s3-cloudfront-ecs/</guid><description>&lt;p&gt;The last stretch of work made the platform quick — a heavy course page that used to take thirty seconds now answered in about two hundred milliseconds, and the API felt solid enough to build real features on. So we finally turned to the thing we had been deliberately ignoring since the very early days: video. Back when we were still proving people would pay, I had left a landmine in the product on purpose. A single 20-minute course lesson was a 1.2 GB HD file, and we served that same giant file to everyone.&lt;/p&gt;</description></item></channel></rss>