Re: Presets and profiles



On Mon, 2009-05-04 at 11:30 +0100, Christian Fredrik Kalager Schaller
wrote:
> Hi everyone,

Hey,

> Daniel G. Taylor and myself have been working on defining a
> specification for how we want to handle things like profiles and presets
> for transcoding to various devices. The initial usecase is for devices
> you do not have attached to your computer, but we love to get feedback
> on how we might want to adjust the current specifications to work better
> for that usecase too.
> 
> There are two documents so far, the first one discussing element level
> presets using the GStreamer preset interface:
> http://gstreamer.freedesktop.org/wiki/PresetDesign
> 
> The second is a device level description of the Device in XML:
> http://gstreamer.freedesktop.org/wiki/DeviceProfile
> 
> Both documents will probably see quite some changes still, so please
> feel free to give feedback and suggestions.
> 
> We do hope that this stuff ends up being used beyond Arista and
> Transmageddon once it matures a bit, for instance Sound Juicer could use
> the Audio information in here for example.

Just thought I'd mention that there are some great comments on the wiki
left by Mike Smith.

I agree that the use of two different formats for the files seems
unnecessary - I believe it's because of how the presets for GStreamer
are currently setup, right? I'd prefer one format and don't really care
which one, though obviously currently Arista is using XML (and the
format is not stable yet).

In case anyone else misunderstands the passes section in both Arista and
the DeviceProfile wiki page: it's merely a way to define what should be
done for each pass of an encode. In the example we have only one pass
that is based on constant quality, but you could easily see where you'd
want two pass bitrate-constrained encodes (see Nokia N810 for example),
and the passes section allows you to define multiple passes to
accomplish this. As a working example, in Arista trunk it currently runs
through each pass one after another to produce the final file. In each
pass element you put the options for that pass (or in the DeviceProfiles
case the profiles that all elements must provide given the caps like
video/x-h264, which are defined on the PresetDesign page).

I also agree that the syntax is not well defined in the wiki for certain
elements. Here is how it works in Arista:

Each element that gives a constraint is allowed to be either a single
value (e.g. <param>10</param>) or an inclusive range (e.g. <param>10,
30</param>). Internally the single parameter is turned into a range of
e.g. [10, 10] and all calculations in while setting up the transcoder
are done using those ranges (scaling, resampling, etc). I agree that one
shortcoming is not allowing a list of discrete values or allowing
something like e.g. <param>320, 720 % 16</param> to say that the value
can be between 320 and 720 but must be a multiple of 16. I'm working on
this for Arista and will probably be updating the GStreamer wiki with
more info soon as well.

Perhaps it is more useful to direct people to post here rather than the
wiki? Having conversations on a wiki has never really been very
successful for me.

Take care,
-- 
Daniel G. Taylor
http://programmer-art.org

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]