Bestand wählen
Merken

Upipe video pipelines for multimedia transcoders, streamers and players

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
you may find that kind of stuff uh I'm not the capability to today but I will be talking about you by which is a brand new projects which we call a flexible data flow framework and so what is it it's it's a
framework that allows you to build pipelines pipelines of data processing uh moon from data sources into data things that all all in 1 of several sources to 1 of several things when I'm speaking the data itself
I mean essentially have pictures
and sounds because we're in the Canadian business so that they can be use a suitable for any kind of data that has a notion of frames packets um so the pipeline is composed of modules that call bytes and you buy a framework that defines an API is a little out 1st to configure the parts so a typical configuration commands would be at the center you would to this all the time was so that is the you might set of commands all open this file for reading or writing and the reason they the data into the right
this is back at process it's uh move you but also defines an API to allow models to so you can see what I call the event is known for instance a world of unified is reached what do we do all that the fatal error uh what do we do this we can application that that kind of the than someone who can store and so when they get to get that um we also have the nature of that defined what the the 1st use of it in an efficient manner I come back to that later and it allows also to yeah the to do that attributes to each the frog attracted to each state before and the finally there's also an API that allows to interact with a new some are combined the fate of you particle so distribution of of standards uh lazy pipes and is the least so in at the end of the presentation yeah so what could be used for her work in the making a business and the company I work for them and uh the results you buy a move is selling you want get equipment so that would be typically transcoders multiplexers out their systems have of music systems where you can have several of the new sources inside 1 of the output of and also we worked on embedded platforms to nature and the need for additional demonstration but formal and did not yet there is no different lightweight so it's quite so that it's not good to 2 moles of that yeah um you
question really asking her right now is what you get another element framework now in 2014 and even though it is something that exists so that what is there is a moodle is we'll see that I'm pretty well higher there is used in all schools so another framework by and probably you all the other there is that of of projects uh however on most of these brothers scientists 15 years years old and the and the new world new trends that emerged in the since the time living designed in particular uh um but there is a derivation of superscalar architectures now policy views of civil calls all of institutions in your cell phone as a tool for calls um so the framework has to provide ways for applications to take advantage of so called city uh and also a new trend in the development industry is in what we call event-driven loops all asynchronous programming that something's been introduced recently eventually the the uh food web servers initially is something that and it's and it's a technology that allows you to register events the like I want to be notified when there's something to read on that so get all I want to be notified when that time expires and we get cold back by the framework and so this is what kind of a new way of programming applications that extra in generalized so that in the past 10 years and limited efforts need to take that into account um also the in existing literature minutes being more difficult because of the lack of majority her mother and the complexity of the models for instance the Transport Stream the marks in most similar to just 1 module was so you have just 1 other entry points that you configure inuktitut if you look at the source code whether 10 modules implement that is the last 1 4 area in the table and so on and so you can render some of in the fine tune you just not some large and also methods and more difficult because of the confusion but in some of those between what we call data processing and decision what local decision that is a deciding which an stream I want to go want to and or do I want the battle is not me and which parts which models running some most of the time this is done either by the models themselves all the framework itself and we think it should be the task of the application domain the so we designed the API to allow the application to get events uh from the models and do the decision but it's a also on the on the professional work as well and the problem we have the most multimedia frameworks is that a designed for 1 kind of education do we see is of please but this and the use and display output GLX whether the army and sometimes we do want to access a lower level API from that transcoding with and unique and do it smaller too hot into this framework the so you but the designed for that kind of use cases and
so we started writing you only 2 years ago with new policies so we've been decided to specify all about comets usually you specify the appeared top that is as that this is to dpi want to exposed to the application and then I'll go down and try to find of the simplest data structures would do contrary we ask ourselves what is the simplest structure that could be present moment you part what is the simplicity of it them to buffer and then we built on top of that early years of API and so different level of Opel symbol with new 5 again talk to the lower level API which the country was to use but you can imagine a higher level of thinking of well we try to good models of symbol and 2 most as possible but unique still so the and and that allows us to do very intensity unit tests including our moon uh to commemorate links with vibrant all code goes without and um we'll start faces some documentation probably also what you can do with tutorials uh and not only Doxygen but also of the conference in the on the same and the 1 last thing that is very appreciated her room by professional that we try to follow standards as much as possible but we do not aim at playing every single the encoded file if a file is not used to of UN doesn't follow the spectrum that we made the plates and we're happy with that and so for the licensing of how uh we tried the very aggressive approach the core is under the MIT license so that's Austria was viewed as can be you can use it even in the in the video applications some use on the GPL all and if you have a license so how do we
compare against existing frameworks older frameworks and add for that we are lower levels of them most of them uh because the education can really decide how to design of the pipeline is depiction decided to render and design to put buffering she was and so on and we have a unified each ifold canvas models not only few articles will see it therefore seems Nicholas filters with the same API for everybody and that's so thanks to a component of code you found a that allows to to in fact that as a wrapper around a library collections like the the easy which is the 1 we use currently which could be adapted to g label or any other kind of events of library as well and what they did me something the 1st to hear that but there's nothing new about to storm threats of to handle multithreading but we we manage the super scholar and the use case by having a look all weights as data structures all structures from the class when we went like this lethal for the of the proposed we have a look at the full was and so the framework is to optimize the so this guy from the start of Prof fully make some of the use of the atom each intrinsics uh on that allows us to do at any coreference counting almost all of the terms of reference counted so you have to mn to care about when to really the structure it's automatically when the rest comes goes down to 0 the strips of media located in the initialized yeah the uh that also allows us to implement copula rights but semantics so we can have the same the that is in different stages of the pipeline different branches for of the pipelines without having to compute the data will only be copied if it must be modified so that is that is something that from the beginning as well well so as you were cooking semantics that is you can do that 1st from a single from small pieces of buffer saying this picture is made of 100 is packets and DTI allows to tune the visible from out of 1 of them is that without cooking anything until the end until you need to add it's considered in the continued continues but the so I talked about the attributes of the political attitudes is that the triplet and nano value so the name can be totally arbitrary we extended accident types like dates times don't presentation by from coding times don't durations that you can define your own attributes and and adapt them to to 2 but for the time and it the propagated through the pipeline so that's an interesting feature causal and last we have a very interesting feature of her is that you can that it could be of the pipeline of when you catch events from from models for instance you can capture and even that says that from now on I mean you elementary streamlined subtitles trends for instance and the vacation can so that ends and allocate the part of the pipeline that we deal with these all even modify the another part of the pipeline to to do something else because there is something that happens as long as you're in the same thread of you can modify the running time warm so it's quite dynamic so that was on the other side of the product of the downside of this and this and that is is the young project so that means that we have fewer models from the existing from frameworks by far so that you will support 5 encoding our encoding and also fewer users so few people to tests uh has to be completely honest that
so that the status of the with through the use of what we call you by reason the 2 army we quite happy with the unless no plans to change the artist the module level and the application level API for the moment we may want to the truth of the API by adding new calls often make the application developers life easier but the it's quite a good starting point if you into other that is a subject looking for it and there are already many modules that are available to move from a from external libraries that support for this index actually being that supports like 2 6 4 and we have a few native modules and article TSG Maxentius makes this is all called business and the everything the the tree the fireworks read strings on the GPU which and so on and we have U 2 the modules just Dutch which allows you to do put branch in your by Patrick there would do during half data and she was of course uh
related to and to talk with so few examples so this 1 is an example
of the well the GG explain uh the example uh it has to 3 threats the
main thread that is running the G of X of the module and it as 1 so strange that reads data from the MIT program from the fire and 1 thread decoding thread army of that takes data from uh the source and the decoded from 12 to what its finally so you can see the use of cues here or 1 she was to the source rather than 1 you after the interconnects thread again learning the way you want it move we have no problems with frameworks to require you to do all you outputs in 1 thread of for instance the PPP of formal requires you to of all your putting 1 thread what sort of public cues that we reach all the first 1 thing and output them from the stress and you can really build about rising won't find this is an
example of which is a bit more complicated than that of the real application that forms not products that we call interview recollapse it's a program that to do so before full things at once right you streams and that's on top of it uh and it's 1st ritual lots of the burka is to just refers to the disk so that the data the number on the left at the same time we try to the research sometimes of it's the 1st 2 the index file that the oxygen on the on the right of these as follows you to play the play this this thing exactly and use it for the shifting proposes all debugging purposes or whatever and the big block in the middle of century to the notes and the decoder and little close to do 2 things 1st we have a data exchange
so we can write thumbnails of the stream on the on the fly and also we have hash things which right prints and that's a hours to do was quickly moving on the string so all of these runs in 3 threads atomic symbolize the in the schematic but so move it's something that could have been that it is good to doing many of our own frameworks
so I'm going to summarize the we do with that you to keep in touch with us you have more information the website we also on 24 7 a minus on 3 no uh when they released and I have built to mobile movable home uh actual Koch into meet so if you're interested you can ask a question there I'm not sure we have many time for question that if you have questions you can go about tomorrow at 2 o'clock and will be around when we will be able to answer your questions to tomorrow use you time we know from 1 to which the of various from 1 person to move that they going from the and so this may be a tree u quite vague question then you might want to go mole specific ones
though you mentioned you need this for while the multimedia framework and just would like to mold was approached you take for
this arm will be significantly way to a new module by would like the idea I thought the value at a private rebellion that's associated with that that so we'll send a couple commensurately effective daytime theories alone pigs they found randomly generated data and the would take the output is 1 of the same as what is supposed to be defined having and if future and is it's considered to be an error point there's never admitted that I is also supposed to be an error so that's all pipes now we also have a lot of source files and that implements well above before the management of income and these for you but for instance tested by having a unit test that the force that will transcend and tries to what found that it's 2 different issues that will be ready by different threads and when we checked that actors all vectors in the correct order and that we do not fully and so on so as the interest the interests of the of the framework that every module is very autonomous so you don't have to import of thousands of lines of support calls to run them and if you had a desire and I needed to do to to be able to test and when he was writing did you believe this work
Gebäude <Mathematik>
Projektive Ebene
Quellcode
Datenfluss
Framework <Informatik>
Rechter Winkel
Mereologie
Elektronische Publikation
Modul
Konfigurationsraum
Framework <Informatik>
Resultante
Distributionstheorie
Punkt
Prozess <Physik>
Natürliche Zahl
Datensichtgerät
Formale Grammatik
Familie <Mathematik>
Kartesische Koordinaten
Baumechanik
Element <Mathematik>
Komplex <Algebra>
Service provider
Übergang
Streaming <Kommunikationstechnik>
TUNIS <Programm>
Gruppe <Mathematik>
Datenverarbeitung
Funktion <Mathematik>
Addition
Sichtenkonzept
Systemaufruf
Softwareentwicklung
Quellcode
Ereignishorizont
Entscheidungstheorie
Tableau <Logik>
Twitter <Softwareplattform>
Transcodierung
Rechter Winkel
Parallelrechner
Server
Projektive Ebene
Standardabweichung
Fehlermeldung
Instantiierung
Multimedia
Multiplexbetrieb
Derivation <Algebra>
Kombinatorische Gruppentheorie
Systemplattform
Framework <Informatik>
Task
Superskalare Architektur
Loop
Domain-Name
Benutzerbeteiligung
Inverser Limes
Softwareentwickler
Physikalisches System
Modul
Flächeninhalt
Mereologie
Partikelsystem
Numerisches Modell
Darstellung <Mathematik>
Subtraktion
Gewicht <Mathematik>
Momentenproblem
Klasse <Mathematik>
Implementierung
Kartesische Koordinaten
Euler-Winkel
Term
Punktspektrum
Framework <Informatik>
Code
Übergang
Videokonferenz
Formale Semantik
Puffer <Netzplantechnik>
Einheit <Mathematik>
Datentyp
Wrapper <Programmierung>
Programmbibliothek
Thread
Stromlinie <Strömungsmechanik>
Datenstruktur
Attributierte Grammatik
Softwaretest
Physikalischer Effekt
Filter <Informatik>
Güte der Anpassung
Verzweigendes Programm
Rechenzeit
Kopula <Mathematik>
Biprodukt
Elektronische Publikation
Grundrechenart
Ereignishorizont
Twitter <Softwareplattform>
Genetische Programmierung
Rechter Winkel
Komponente <Software>
Hypermedia
Mereologie
Speicherabzug
Decodierung
Standardabweichung
Numerisches Modell
Instantiierung
Videospiel
Punkt
Momentenproblem
Automatische Handlungsplanung
Verzweigendes Programm
Systemaufruf
Kartesische Koordinaten
Modul
Übergang
Netzwerktopologie
Automatische Indexierung
Programmbibliothek
Softwareentwickler
Zeichenkette
Softwareentwicklung
Thread
Quellcode
Normalspannung
Modul
Quick-Sort
Framework <Informatik>
Funktion <Mathematik>
Instantiierung
Bit
Thumbnail
Zahlenbereich
Ordinalzahl
Softwareentwicklung
Kartesische Koordinaten
p-Block
Biprodukt
Elektronische Publikation
Framework <Informatik>
Streaming <Kommunikationstechnik>
Datenaustausch
Rechter Winkel
Automatische Indexierung
Zeichenkette
Multimedia
Netzwerktopologie
Maschinenschreiben
Web Site
Information
Framework <Informatik>
Eins
Softwaretest
Komponententest
Punkt
Digital Rights Management
Quellcode
Vektorraum
Modul
Framework <Informatik>
Physikalische Theorie
Forcing
Thread
Gerade
Instantiierung
Fehlermeldung
Funktion <Mathematik>

Metadaten

Formale Metadaten

Titel Upipe video pipelines for multimedia transcoders, streamers and players
Untertitel Flexible data flow framework
Serientitel FOSDEM 2014
Autor Massiot, Christophe
Lizenz CC-Namensnennung 2.0 Belgien:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen.
DOI 10.5446/32648
Herausgeber FOSDEM VZW
Erscheinungsjahr 2014
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Upipe is a brand new flexible dataflow framework. It is primarily designed to be the core of a multimedia player, transcoder or streamer. The framework organizes the processing of incoming data in buffers inside a pipeline of modules. It exposes core types for buffers and modules (called "pipes"), and the API for communication between pipes and between the application and pipes. This presentation will show how developers can take advantage of Upipe to build complex processing pipelines

Ähnliche Filme

Loading...
Feedback