Thiago Santos
Framework
GStreamer●   Framework    –   Processamento de dados    –   “Pipes and filters”●   LGPL●   10 anos    –   Stable → 0.10   ...
GStreamer●   Plugins●   Baseado em grafos
Grafos
Grafos
Grafos
GrafosFile Source
GrafosFile Source   Matroska Demux
GrafosFile Source        Matroska Demux                                    MP3 Dec              H264 Dec
GrafosFile Source        Matroska Demux                                    MP3 Dec              H264 Dec                  ...
GrafosCamera Source   H264 Encoder   MP4 Muxer                File Sink
Plugins
Plugins●   Pacote de GstElements    –   Rede    –   Codec    –   Utils    –   Camera    –   Arquivos    –   Filtros    –  ...
Plugins●   -base●   -good●   -ugly●   -bad●   -ffmpeg
Plugins
Outro Grafo
Framework●   GStreamer core API    –   Criar nós    –   Ligá-los    –   Play!●   Plugins, plugins, plugins●   Bindings
GstElement
GstPad●   Links elements●   Negotiate formats    –   GstCaps
GstPipeline●   GstElement●   Container (GstBin)
GstBus●   Comunicação●   Mensagens
Overview           AplicaçãoPipeline               Bus
Códigoplayer = gst.Pipeline("player")source = gst.element_factory_make("filesrc")decoder = gst.element_factory_make("mad")...
GstBin●   Container de GstElements●   Camada de abstração
Decodebin             Audio Decodebin             Video
PlaybinPlaybin
Encodebin  Audio           EncodebinVideo            Perfil
Camerabin                                 Filtros         Zoom                                              ImagemVideo   ...
ToolsFerramentas
gst-inspect●   Listar elementos●   Listar propriedades dos elementos
gst-launch●   Prototipação rápida●   Cria pipelines●   Consolegst-launch elemento1 propriedade1=valor !elemento2 ! element...
Gst-SDK●   Linux●   Windows●   OS/X
Comunidade●   IRC - #gstreamer @ freenode (thiagoss)●   ML – commits / devel / bugs●   Web - gstreamer.net / gstreamer.com...
Referências●   Grafos: wikipedia●   Flickr:    –   http://www.flickr.com/photos/nocallerid_man/3638360458    –   http://ww...
Obrigado!●   Perguntas?●   thiagoss -> #gstreamer @ freenode●   thiago.sousa.santos@collabora.com●   thiagossantos@gmail.com
Fisl13 gstreamer
Fisl13 gstreamer
Upcoming SlideShare
Loading in …5
×

Fisl13 gstreamer

828 views

Published on

Palestra sobre GStreamer apresentada no FISL13

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
828
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
46
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Fisl13 gstreamer

  1. 1. Thiago Santos
  2. 2. Framework
  3. 3. GStreamer● Framework – Processamento de dados – “Pipes and filters”● LGPL● 10 anos – Stable → 0.10 – 0.11/1.0
  4. 4. GStreamer● Plugins● Baseado em grafos
  5. 5. Grafos
  6. 6. Grafos
  7. 7. Grafos
  8. 8. GrafosFile Source
  9. 9. GrafosFile Source Matroska Demux
  10. 10. GrafosFile Source Matroska Demux MP3 Dec H264 Dec
  11. 11. GrafosFile Source Matroska Demux MP3 Dec H264 Dec Audio Sink Video Sink
  12. 12. GrafosCamera Source H264 Encoder MP4 Muxer File Sink
  13. 13. Plugins
  14. 14. Plugins● Pacote de GstElements – Rede – Codec – Utils – Camera – Arquivos – Filtros – Containers
  15. 15. Plugins● -base● -good● -ugly● -bad● -ffmpeg
  16. 16. Plugins
  17. 17. Outro Grafo
  18. 18. Framework● GStreamer core API – Criar nós – Ligá-los – Play!● Plugins, plugins, plugins● Bindings
  19. 19. GstElement
  20. 20. GstPad● Links elements● Negotiate formats – GstCaps
  21. 21. GstPipeline● GstElement● Container (GstBin)
  22. 22. GstBus● Comunicação● Mensagens
  23. 23. Overview AplicaçãoPipeline Bus
  24. 24. Códigoplayer = gst.Pipeline("player")source = gst.element_factory_make("filesrc")decoder = gst.element_factory_make("mad")conv = gst.element_factory_make("audioconvert")sink = gst.element_factory_make("alsasink")player.add(source, decoder, conv, sink)gst.element_link_many(source, decoder, conv, sink)
  25. 25. GstBin● Container de GstElements● Camada de abstração
  26. 26. Decodebin Audio Decodebin Video
  27. 27. PlaybinPlaybin
  28. 28. Encodebin Audio EncodebinVideo Perfil
  29. 29. Camerabin Filtros Zoom ImagemVideo Resolução Formatos Snapshot
  30. 30. ToolsFerramentas
  31. 31. gst-inspect● Listar elementos● Listar propriedades dos elementos
  32. 32. gst-launch● Prototipação rápida● Cria pipelines● Consolegst-launch elemento1 propriedade1=valor !elemento2 ! elemento 3
  33. 33. Gst-SDK● Linux● Windows● OS/X
  34. 34. Comunidade● IRC - #gstreamer @ freenode (thiagoss)● ML – commits / devel / bugs● Web - gstreamer.net / gstreamer.com● GStreamer Conference● Planet - gstreamer.freedesktop.org/planet/
  35. 35. Referências● Grafos: wikipedia● Flickr: – http://www.flickr.com/photos/nocallerid_man/3638360458 – http://www.flickr.com/photos/evaekeblad/454220744/ – http://www.flickr.com/photos/freefoto/5982549938/ – http://www.flickr.com/photos/duckypipeliner/4281438859 – http://www.flickr.com/photos/m4tik/4687192723 – http://www.flickr.com/photos/matthewfch/835831228 – http://www.flickr.com/photos/florianric/7263382550
  36. 36. Obrigado!● Perguntas?● thiagoss -> #gstreamer @ freenode● thiago.sousa.santos@collabora.com● thiagossantos@gmail.com

×