<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: David Chen</title>
    <description>The latest articles on DEV Community by David Chen (@lucemia).</description>
    <link>https://dev.to/lucemia</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3219084%2Ff8c3bd68-8a18-4f2f-89f7-d8988ee9624b.jpeg</url>
      <title>DEV Community: David Chen</title>
      <link>https://dev.to/lucemia</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lucemia"/>
    <language>en</language>
    <item>
      <title>typed-ffmpeg 3.0: Strongly-Typed FFmpeg Interface for Python with Visual Playground</title>
      <dc:creator>David Chen</dc:creator>
      <pubDate>Wed, 28 May 2025 17:54:00 +0000</pubDate>
      <link>https://dev.to/lucemia/typed-ffmpeg-30-strongly-typed-ffmpeg-interface-for-python-with-visual-playground-1ep9</link>
      <guid>https://dev.to/lucemia/typed-ffmpeg-30-strongly-typed-ffmpeg-interface-for-python-with-visual-playground-1ep9</guid>
      <description>&lt;p&gt;🎬 typed-ffmpeg 3.0 – A Strongly-Typed Python Interface to FFmpeg + Interactive Playground&lt;/p&gt;

&lt;p&gt;If you’ve ever written long, fragile FFmpeg command strings and wished for a better developer experience, typed-ffmpeg might be what you’re looking for.&lt;/p&gt;

&lt;p&gt;It brings autocomplete, type safety, validation, and now even a visual editor to FFmpeg workflows—all from Python.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/livingbio/typed-ffmpeg" rel="noopener noreferrer"&gt;https://github.com/livingbio/typed-ffmpeg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;🚀 What typed-ffmpeg Does&lt;/p&gt;

&lt;p&gt;typed-ffmpeg lets you build FFmpeg filter graphs in Python using a typed, object-oriented API. It solves common issues with tools like ffmpeg-python, such as: Missing type hints and autocomplete&lt;/p&gt;

&lt;p&gt;It also introduces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;JSON serialization of graphs&lt;/li&gt;
&lt;li&gt;FFmpeg command validation and auto-correction&lt;/li&gt;
&lt;li&gt;Reverse CLI parsing (in v3.0)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;👥 Who It’s For&lt;/p&gt;

&lt;p&gt;If you work with video/audio processing and want to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automate FFmpeg workflows in production&lt;/li&gt;
&lt;li&gt;Build content/media pipelines for research or education&lt;/li&gt;
&lt;li&gt;Debug and share filter graphs more easily&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;🔄 What’s New in v3.0&lt;/p&gt;

&lt;p&gt;Here are the highlights from the latest release:&lt;/p&gt;

&lt;p&gt;✅ Source Filter Support&lt;/p&gt;

&lt;p&gt;Use FFmpeg source filters like color, anullsrc, testsrc, etc., with full autocomplete and type safety.&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://livingbio.github.io/typed-ffmpeg/usage/complex-filtering/#applying-source-filters" rel="noopener noreferrer"&gt;https://livingbio.github.io/typed-ffmpeg/usage/complex-filtering/#applying-source-filters&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;✅ Input Stream Selection&lt;/p&gt;

&lt;p&gt;Now supports stream specifiers (e.g., [0:v], [1:a]) across multiple inputs.&lt;/p&gt;

&lt;p&gt;Docs: &lt;a href="https://livingbio.github.io/typed-ffmpeg/usage/basic-api-usage/#stream-selection" rel="noopener noreferrer"&gt;https://livingbio.github.io/typed-ffmpeg/usage/basic-api-usage/#stream-selection&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;🧪 Interactive Playground&lt;/p&gt;

&lt;p&gt;A new visual tool to build, edit, and test FFmpeg filter graphs:&lt;/p&gt;

&lt;p&gt;🔗 &lt;a href="https://livingbio.github.io/typed-ffmpeg-playground/" rel="noopener noreferrer"&gt;https://livingbio.github.io/typed-ffmpeg-playground/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Drag-and-drop filter graph builder&lt;/li&gt;
&lt;li&gt;Generates both FFmpeg CLI and typed-ffmpeg Python code&lt;/li&gt;
&lt;li&gt;Paste any FFmpeg CLI to reverse-parse it into a visual graph&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;🧱 Internal APIs for Tooling&lt;/p&gt;

&lt;p&gt;v3.0 also introduces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;parse cli to graph: – Convert FFmpeg CLI to internal graph objects&lt;/li&gt;
&lt;li&gt;generate python code: – Emit typed-ffmpeg code from a graph&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These make it easier to build advanced tooling or plugins around FFmpeg logic.&lt;/p&gt;

&lt;p&gt;⸻&lt;/p&gt;

&lt;p&gt;📦 Installation&lt;/p&gt;

&lt;p&gt;pip install -U typed-ffmpeg&lt;/p&gt;

</description>
      <category>python</category>
      <category>ffmpeg</category>
      <category>typehint</category>
    </item>
  </channel>
</rss>
