Multimedia dedicated weblog.


January 13th, 2009 Posted in Free Software


as promised here’s the first testing version of the new MP4 mux filter I’m working on. First I’d like to say that this filter is not yet mature so you should really take it as that. So far I have only focused on H.264 and AAC support.

Basically you can use this filter to directly remux e.g. MKV files with H.264 and AAC streams but if you are using B-Frames the only way they are going to work properly is to use latest MONOGRAM x264 Encoder (currently unpublished build can be found HERE). I would also recommend you to use MONOGRAM AAC Encoder (latest SVN build HERE) for audio encoding. To make a MP4 file connect the “File Writer” filter to the output of this mux filter.

I have started to work on support for x264vfw (via VFW DirectShow wrapper) but I still did not manage to make B-Frames work correctly with VFW.

If you find anything strange besides the above mentioned things please do report it.

This filter does not come with open source but is free for non-commercial use.

Download : (130 KB)



  1. 29 Responses to “MONOGRAM MP4 Mux Alpha”

  2. By winnydows on Jan 31, 2009

    Hi Igor. Nice muxer. Work perfect for x264 + aac. How about XviD, DivX (MPEG4-ASP), MP3, MPA ?
    And as dream AC3 ?

  3. By winnydows on Jan 31, 2009

    Forget about Elecard H.264 streams. It`s also not supported, probably just prefered media type lock.

  4. By Igor Janos on Jan 31, 2009

    Sure I plan to add other codecs…. hopefully soon. I’ll check why elecard is not working.

  5. By Russell B on Feb 19, 2009

    Any luck with getting the audio to play inside QuickTime player? It seems like this Muxer has an issue with audio in QT! It works fine in WMP or VLC player but not in QT! Any suggestions? Thanks.

  6. By Martin Ho on Feb 28, 2009

    Hi Igor, I am using VISTA and try to register this MP4Mux by using regsvr32.exe, but it failed with “calling DllRegisterServer failed” or “can’t find entry point DllInstall”, can you help me ? Thanks.

  7. By winnydows on Mar 6, 2009

    Link to MONOGRAM filters pack:

    Hope Igor agree creating this pack by me.

  8. By winnydows on Mar 6, 2009

    Forget to say: this codec pack contain all MONOGRAM codecs and installed to vista without any problems.

  9. By Igor Janos on Mar 7, 2009

    Hi. Thank you for creating the package. Could you also give me the installation script? I would like to learn how to do it too.

  10. By winnydows on Mar 7, 2009

    As you wish Master. Welcome to my skype - winnydows - I send you all needed scripts. Also want chat about Winnydows Commander DAILY - media encoder and more. This version work with installed DirectShow filters. With yours also. Version not for public now. Only for video experts. Still a lot of work before public release.

    Winnydows Commander DAILY beta link:

  11. By Martin Ho on Mar 8, 2009

    Hi winnydows,
    Downloaded and installed successfully. Thanks a lot !

  12. By Russell B on Mar 10, 2009

    Welcome back Igor! :)

    Now that you’re back, any luck with getting the audio to play inside QuickTime player? It seems like your MP4 Muxer has an issue with audio in QT! It works fine in WMP or VLC player but not in QT! Just thought I let you know…


  13. By winnydows on Mar 13, 2009

    Hi Igor.

    Full pack installer source:

    Single filter installer source:

    When you plan add B-frames support to MP4 muxer ?

  14. By Igor Janos on Mar 16, 2009

    The muxer itself supports B-Frames but only with the X264 version which is not yet released to public. You can find it in the SVN repository if you want to play. At the moment my time for free projects is very limited :(

  15. By winnydows on May 12, 2009

    One small problem now - created MP4 will be incompatible with any hardware MP4 player. Probably old atom problem. Can you fix it? Please.

    If you need I can find information about atom needed for compatibility.

    Elecard-MainConcept MP4 play ok.
    Haali MP4 don`t play by harwdare too. Probably same problem.

  16. By Igor Janos on May 12, 2009

    Yes. I’ve already done some fixes. Will post a new build soon.

  17. By winnydows on May 12, 2009

    Cool, thanks :)

  18. By mp4 to avi on May 31, 2009

    very cool, i have download it ,thank you,

  19. By Gokhan ERDOGDU on Jul 26, 2009


    I love your work too. I’ve reviewed CBaseMux class. But, I inexperienced on writing filter. Can be used to process audio mix with CBaseMux class I am?

  20. By Lizheng on Aug 10, 2009

    Hi Igor,does mm mp4 mux support H264 ES stream?I had a h264 encode card(WinFast PxVC1100,it use TOSHIBA SE1000 engine),but the card only output MPEG-ES stream,so can I directly push the ES stream to your mp4 mux filter?

  21. By Igor Janos on Aug 10, 2009

    Yes. There is an updated version of the filter that also supports elementary H264 stream in the form of Annex-B access units. Drop me an email, I should be able to send you the latest version for testing.

  22. By Lizheng on Aug 10, 2009

    Thanks Igor,my email is

  23. By Ryan W on Aug 19, 2009

    Hi Igor! Wonderful work.
    Is there anything that I need to know with the output pin if I want to connect the mux with a custom file writer? I tried it with the “Dump filter” from platform SDK, and I got the “No intermediate filters found” exception…

    Thank you!

  24. By Igor Janos on Aug 19, 2009

    Have you tried “File Writer” ?

  25. By Ryan W on Aug 21, 2009

    “File Writer” works just fine. I wanted to be able to write the video stream into a series of small-sized files in sequence seamlessly. So I created a file writer which was based on the “Dump Filter”. It is functional when I connect it to “MONOGRAM x264 Encoder” directly, however, it has trouble to connect to the mp4 muxer. The media type of input pin is “GUID_NULL”. Do you have any suggestions?

  26. By Igor Janos on Aug 21, 2009

    The difference between “Dump” and “File writer” is that dump simply writes data as it comes - timestamp values are interpreted as “time”. File writer interprets timestamps as byte position offsets in file and also exposes IStream interface on its input pin so the file can be randomly written to when a file is being closed. This way file headers at start might be properly updated once the file is finished.

  27. By Ryan W on Aug 21, 2009

    Thanks Igor! I will try to implement IStream interface on the input pin.

  28. By vgy on Sep 2, 2009

    Dose the muxer filter support H.264 bitstream within slice ?

    It seems not work correctly with slice issue.

  29. By LLloody on Dec 8, 2009

    Igor you rock!
    I am using the mp4 filters to write files for ipod and they work nicely.
    two questions:
    1) The mux filter ( alpha) will connect to the file writer but never writes to the file. I am using a diferant file write that works fine.
    2) It would be nice if the mux would implement IMediaSeeking so that I can get progress on the conversion process.
    Keep up the good work buddy!

  30. By Mr.F on Dec 10, 2009

    Hi Ryan and Igor,

    I, too, am trying to capture a video stream into a series of small-sized files in sequence seamlessly. Ryan, were you able to get that to work? I’ve searched quite a bit but have been unable to find anything on how to create a custom file writer. I really don’t know where to start besides searching for the “Dump filter” and browsing code. I haven’t been able to find more than about 2 DirectShow books online with low ratings. Can someone please point me in the right direction or at least provide some sample code or something along those lines? Thank you so much!

Post a Comment