These last two weeks I tried to release a working version of gst-media-services, but I have a unknown bug: sometime, for some type of streams, the pipeline just got paused. I did some things, suggested from IRC community, but it still bugging rarely. The most strange thing on this part is, if I put a time.sleep of 1 second between the gstreamer pipeline linkage and the pipeline play, it works everytime! It's look as sometimes the construction of pipeline isn't being completed, so, has any way of I wait for the pipeline to be complete functional until I set to play state? Ok, I'll spend more time on this these next days.
Also, I want to release an alpha on the Google Summer of Code deadline, August 18th, so, expect something working on my next post. The interface is working ok, and conversion is going rightly, reading elements and constructing pipeline from EncodingProfiles.
Showing posts with label encodingprofiles. Show all posts
Showing posts with label encodingprofiles. Show all posts
Thursday, August 14, 2008
Tuesday, July 29, 2008
Continuing Encoding Profiles
Ok, thanks to my previous post comments, I changed the profile XML format. Now I'm not representing the pipeline on itself, but just describing how can be the elements to my program find elements in gstRegistry, and so connect them to construct a pipeline. The good point on this is to possible different elements, so gstms - gst-media-services, this project - can work in different devices, with different elements sets.
But, as nothing is so good, I have some new problems:
For who want to know how is going the xml format, here a link to websvn of google project. Please, comment, community opinions have being very useful to the project!
But, as nothing is so good, I have some new problems:
- I need to guess some useful properties - this is needed to basic user interface, as if I show all possible elements properties will turn gstms too hard to use. I'm handling it telling some possible properties, if they don't exist, doesn't matter - let the default value be used. Also, I pretend to change the graphical interface of gstms to advanced mode, so in this mode user can set each property by hand, and here I can just read all possible properties and show on the interface.
- Connections - how gstms can connect elements in a correct pipeline? I'm not 100% sure about this solution, but I'm only describing each possible-element source, so gstms can search for a element that fits on this source. Also, each possible-element can have, optionally, a tag named recommended-elements which recommends gstms to elements in gst that can be used. I'm not so sure about video conversions, I need to build one first.
- audioconvert, ffmpegcolorspace - these two elements are always used in audio and video conversion, to change raw audio and raw video formats. But, is there any other element like this? Can I search automatically for them, with possibly another name? I didn't solve it.
For who want to know how is going the xml format, here a link to websvn of google project. Please, comment, community opinions have being very useful to the project!
Saturday, July 19, 2008
Starting Encoding Profiles
Two weeks without reporting, but here I am. I spent this time with implementing the proposed interface, which I did all in glade format and I can easily edit it. Also, the project is detecting format - oh, I spent some hours implementing my own pipeline with decodebin to get info from files in the input and just later I found gst.extend.discoverer... ok, now I have more experience with pipelines, and I'm working in the xml format - I really don't know for now how can I represent the pipelines for themselves, as they need some processing power. For an example, to encode to mp3 I can use id3mux or id3v2mux, but to choose one I need to tell to try each. I saw the method of Banshee, using S-expression, is very useful but I would like to use only XML, just not sure exactly how.
A way that I was thinking is like:
<element id="audioconvert" type="required">
<element id="lame" type="required">
<property id="bitrate" type="optional">
<property id="vbr" type="">
<if expression="vbr!=0"> <!-- vbr!=0 need to use html encoded chars -->
<property>
</property>
</if>
<if expression="vbr != 0">
<element id="xingmux" type="optional">
<element id="id3v2mux" type="optional">
<else>
<if expression="exist(id3v2mux)">
<element id="id3v2mux" type="optional">
<elif expression="exist(id3mux)">
<element id="id3mux type=">
</element>
</elif>
Suggestions?
update: I corrected the XML code which was not appearing.
A way that I was thinking is like:
<element id="audioconvert" type="required">
<element id="lame" type="required">
<property id="bitrate" type="optional">
<property id="vbr" type="">
<if expression="vbr!=0"> <!-- vbr!=0 need to use html encoded chars -->
<property>
</property>
</if>
<if expression="vbr != 0">
<element id="xingmux" type="optional">
<element id="id3v2mux" type="optional">
<else>
<if expression="exist(id3v2mux)">
<element id="id3v2mux" type="optional">
<elif expression="exist(id3mux)">
<element id="id3mux type=">
</element>
</elif>
Suggestions?
update: I corrected the XML code which was not appearing.
Tuesday, June 3, 2008
Encoding Profiles
Reporting my GSoC work, last week I worked in the encoding profiles idea (http://gstreamer.freedesktop.org/wiki/EncodingProfiles), deriving it from Banshee's Audio Profile, which is a very nice profile system for transcoding audio files. I'm putting at my project wiki all issues that I'm having to create an example XML of this generalized media profile, which supports video, audio and, why not, images later. With this profile I hope to ease user creation of any kind of transcode operation, according to its need or to an application need.
I'm also comparing some transcoder applications at my project wiki too. If you know any other open source application that I didn't cited at wiki, please just leave a comment there to I analyze it and check if I can get anything to help me on my project!
Now this week I'll delay Encoding Profiles to do, as a Stefan's suggestion, a python script to dump possible configurations for codecs and themselves from registry, so any example script that does something like this is welcome too!
I'm also comparing some transcoder applications at my project wiki too. If you know any other open source application that I didn't cited at wiki, please just leave a comment there to I analyze it and check if I can get anything to help me on my project!
Now this week I'll delay Encoding Profiles to do, as a Stefan's suggestion, a python script to dump possible configurations for codecs and themselves from registry, so any example script that does something like this is welcome too!
Subscribe to:
Posts (Atom)