And it now has mp3, wmv3 and wma3 support!
Friday, July 24, 2009
asfmux is now at gstreamer-plugins-bad
I just pushed asfmux plugin into gstreamer-plugins-bad. So, forget the old repository, the recent code will now be at -bad.
Thursday, July 16, 2009
Live streaming of ASF content
Just pushed a couple of changes to ASF muxer plugin that enable streaming live content of ASF media. Basically it contains some fixes to timestamping and a new boolean property to asfmux called "is-live". When enabled, asfmux won't attempt to push indexes at the end of the file (as this has no sense in live streams) and also won't try to seek back to the headers to rewrite some values that it couldn't predict when started the file.
Here is the simplest example of its use in gst-launch commands:
The sender:
- gst-launch-0.10 -ve videotestsrc ! ffenc_wmv2 ! asfmux name=m is-live=true ! rtpasfpay ! udpsink host=127.0.0.1 port=3333 audiotestsrc ! ffenc_wmav2 ! m.
- gst-launch-0.10 udpsrc port=3333 ! "put the caps here" ! rtpasfdepay ! decodebin2 name=d ! queue ! ffmpegcolorspace ! autovideosink d. ! queue ! audioconvert ! autoaudiosink
Remember to replace the caps after udpsrc with the caps of the srcpad of the rtpasfpay element in the first pipeline. If you have any problems using it, please report!
The asf plugin can be found here.
Tuesday, June 23, 2009
ASF: we need a parser
While developing rtpasfpay I found out that I can't just do (in gst-launch syntax):
somesrc ! asfmux ! rtpasfpay ! udpsink
because the ASF headers need to be updated after the stream ends and those values are needed by rtpasfpay.
Additionally, I can't get an ASF from a file and feed it to rtpasfpay because the buffers would be unaligned with the ASF objects and packets, requiring rtpasfpay to parse the data before doing anything related to RTP. I'd say we need a parser.
The idea is to do all the parsing at the parser (obvious) and only some checks of conformance at the rtp payloader. As I had already started developing the payloader, I took it as farther as I could (without using a parser) and its current state is now at the repository. It is still unfinished (read: doesn't work).
The parser
Now I'm starting to develop the asfparse element. ASF files have 3 main parts: first there are headers, then the data (where the packets are) and lastly a series of indexes objects. The parser would, sequentially:
- Group all the headers into a single buffer and push it
- Push the "Data object" header (everything but the packets)
- Put each packet into a separate buffer and push them
- Put each of the indexes object into a separate buffer and push them
- EOS
The parser should work both in pull or push mode, I'll start with push mode.
Monday, June 15, 2009
asfmux: index fixed, new formats
Latest asfmux changes:
- fixed simple index (seeking works)
- Support for wma version 1
- Support for wmv version 1
- Preroll time property
- Packet size property
- file id generation (instead of a previous hardcoded all zeroes)
I'd consider it ready to be called a basic asf muxer.
Feature suggestions are welcome.
Tuesday, June 9, 2009
ASFMux progress report
I ran some tests with asfmux yesterday and it is now capable of muxing wma2 and wmv2 nicely. Played the resulting files at totem, mplayer and media player.
The file indexes are still badly broken, so trying to seek might result in unexpected behaviours or crashing. I'm trying to fix that.
The file indexes are still badly broken, so trying to seek might result in unexpected behaviours or crashing. I'm trying to fix that.
Monday, May 25, 2009
GSoC Status
GSoC's coding period started saturday and, as I've been coding a little since the accepted students announcements, I've got some results.
With a lot of help from Mike, that is also working with ASF, asfmux currently is capable of muxing WMAv2 and WMVv2, which means that most of the base code of the muxer is ready. It still lacks the indexes, but that's what I'm working on these days.
Unfortunately, I still won't be working full speed at GSoC 'till the end of next week, when I'll be on university vacation.
If you'd like to take a look at the code, my repository is here.
Wednesday, May 6, 2009
ASF Inspect Tool
So, if you are learning/working on ASF media, Microsoft has this tool[1] for Windows (it's free) that might help you, I just found it and haven't really tested it, just explored some files and it is much better than opening them in ghex.
[1] http://www.microsoft.com/windows/windowsmedia/forpros/format/asfviewer.aspx
[1] http://www.microsoft.com/windows/windowsmedia/forpros/format/asfviewer.aspx
Subscribe to:
Comments (Atom)