# Mojo FFmpeg bindings progress (ash\_dynamics)

**URL:** <https://forum.modular.com/t/mojo-ffmpeg-bindings-progress-ash-dynamics/2567>\
**Category:** Mojo\
**Created:** [December 31, 2025, 11:35pm UTC](https://forum.modular.com/t/mojo-ffmpeg-bindings-progress-ash-dynamics/2567 "2025-12-31T23:35:16Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![jklaivins](https://avatars.discourse-cdn.com/v4/letter/j/87869e/32.png) [@jklaivins](https://forum.modular.com/u/jklaivins)\
**Post date:** [December 31, 2025, 11:35pm UTC](https://forum.modular.com/t/mojo-ffmpeg-bindings-progress-ash-dynamics/2567/1 "2025-12-31T23:35:16Z")

</div>

Just a progress update / early show an tell since this is took a few weeks to get working. Unfortunately I think this is still only going to be usable for me for a few more weeks as I work through cleaning up the bindings and work on a higher level API.

- Linked is an example video of h264 encoded frames being converted to dash-mpeg fragments using ffmpeg + mojo bindings and dash js 😄

[readme with video](https://github.com/josiahls/ash_dynamics/tree/feature/avformat-bindings?tab=readme-ov-file#demo-video)

As part of a robot sim / training project [ash dynamics pr 1](https://github.com/josiahls/ash_dynamics/blob/feature/avformat-bindings/tests/test_ffmpeg/test_ffmpeg_h264_to_fmp4.mojo) that I’m working on. First goal is I need to be able to visualize sims from a remote machine, ideally through a browser.

Some notes:

- Depends on [[stdlib] feat: Add unsafe\_ptr to StaticTuple by josiahls · Pull Request #5715 · modular/modular · GitHub](https://github.com/modular/modular/pull/5715) being merged.
- Watching [Add pico http refactor, clean up libc bindings, introduce QoL structs to wrap libc structs... by thatstoasty · Pull Request #275 · Lightbug-HQ/lightbug\_http · GitHub](https://github.com/Lightbug-HQ/lightbug_http/pull/275) pretty closely. Hoping to remove the temporary python server into a more perminant lightbug API
- **UX is a buggy nightmare be warned** and will be for a while unless you’re comfortable with ffmpeg low level apis + forking projects. No where close to opencv style video writing.
- There are memory leaks / origin issues since so many of the objects are alloced via ffmpeg and so are external origins. The test script is pretty quick and short, so the memory issues aren’t a visible problem if you’re doing short one off video runs, but my next steps is removing all the `_ = some_dl_alloced_obj` with better integrated mojo origin friendly APIs.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex001/uploads/modular/original/1X/2751e0fbdc595a99718b216730957e9db4448cfd.jpeg) [@system](https://forum.modular.com/u/system)\
**Post date:** [June 29, 2026, 11:35pm UTC](https://forum.modular.com/t/mojo-ffmpeg-bindings-progress-ash-dynamics/2567/2 "2026-06-29T23:35:18Z")

</div>

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.
