¿Cuál es la sintaxis de las mayúsculas y las capacidades de medios especificadas en gstreamer? Los topes son cadenas que especifican el tipo de medio permitido y se parecen a "audio/x-raw-int, ..." pero no he podido encontrar una buena documentación sobre exactamente lo que está permitido en una cadena de mayúsculas.¿Qué es la sintaxis de gstreamer caps?
Respuesta
Así es como lo uso en Python ... HTH
caps = gst.Caps("video/x-raw-yuv,format=(fourcc)AYUV,width=704,height=480")
capsFilter = gst.element_factory_make("capsfilter")
capsFilter.props.caps = caps
Estoy buscando la sintaxis de la cadena que especifica los límites. "video/x-raw-yuv, ..." – joeforker
una respuesta parcial, que estoy seguro de que ya se haya elaborado:
"MIMETYPE,PROPERTY1=VALUE1,PROPERTY2=VALUE2,..."
formalmente, son las tapas no representado por cadenas sino por un objeto GstCaps que contiene una matriz de GstStructures. ver la documentación here.
quizá si trabajamos a cabo una respuesta definitiva Aquí podríamos enviar un parche documentación de la función gst_caps_from_string()
Estoy seguro debido a su pregunta es sobre la sintaxis, pero "list of defined types" puede ser útil.
En Java, por gstreamer-java
final Element videofilter = ElementFactory.make("capsfilter", "flt");
videofilter.setCaps(Caps.fromString("video/x-raw-yuv, width=720, height=576"
+ ", bpp=32, depth=32, framerate=25/1"));
En C, supongamos que desea tapas videoscale filtran
GstElement *videoscale_capsfilter;
GstCaps* videoscalecaps;
...
...
videoscale = gst_element_factory_make ("videoscale", "videoscale");
g_assert (videoscale);
videoscale_capsfilter = gst_element_factory_make ("capsfilter", "videoscale_capsfilter");
g_assert (videoscale_capsfilter);
...
...
propiedades a continuación, establecer
g_object_set(G_OBJECT (videoscale_capsfilter), "caps", videoscalecaps, NULL);
entonces se podría añadir estos a bin y vincularlos de la misma forma que ha creado la canalización de medios utilizando gst-launch
/* Add Elements to the Bin */
gst_bin_add_many (GST_BIN (pipeline),source ,demux ,decoder ,videoscale ,videoscale_capsfilter ,ffmpegcolorspace ,ffmpegcolorspace_capsfilter,autovideosink,NULL);
/* Link confirmation */
if (!gst_element_link_many (demux, decoder,videoscale, videoscale_capsfilter ,ffmpegcolorspace, ffmpegcolorspace_capsfilter, autovideosink, NULL)){
g_warning ("Main pipeline link Fail...");
}
/* Dynamic Pad Creation */
if(! g_signal_connect (source, "pad-added", G_CALLBACK (on_pad_added),demux))
{
g_warning ("Linking Fail...");
}
La sintaxis es la siguiente:
<type>[,<property>=<value>]...
Tenga en cuenta que el tipo es no un tipo MIME, por mucho que pueda parecer una.
Puede averiguar qué elementos de propiedades de mayúsculas admiten utilizando gst-inspect
. Proporcionará "plantillas de almohadilla" para las almohadillas del elemento, que especificarán los rangos de límites admitidos.
La guía del plugin GStreamer también contiene un list of defined types que describe propiedades para formatos comunes de audio, video e imagen.
Aquí es el formato por lo que yo entiendo:
caps = <caps_name>, <field_name>=<field_value>[; <caps>]
<caps_name> = image/jpeg etc
<field_name> = width etc
<field_value> = <fixed_field_value>|<ranged_field_value>|<multi_field_value>
<fixed_field_value> = 800 etc
<ranged_field_value> = [<lower_value>, <upper_value>]
<multi_field_value> = {<fixed_field_value>, <fixed_field_value>, <fixed_field_value>, ...}
Esto es muy bueno, pero deja de lado las nuevas Funciones de capacidad. – swestrup
veo que está después de audio.
Le daré la versión larga, puede colocar o cambiar las piezas que no necesita. Sin embargo, cambia entre GStreamer 0.10 y GStreamer 1.0. Voy a dar tanto:
para GStreamer 0.10:
audio/x-raw-int,rate=44100,channels=2,width=16,depth=16,endianness=1234,signed=true
para GStreamer 1.0:
audio/x-raw,format=S16LE,channels=2,layout=interleaved
Como puede ver, con 1.0, deberá combinar el formato de audio. S16LE significa firmado + int + 16 ancho + pequeño endian (= 1234).
- 1. ¿CoreText es compatible con Small Caps?
- 2. ¿Qué es la sintaxis del archivo Diff?
- 3. ¿Por qué es necesaria la sintaxis ": nodoc:"?
- 4. Reproducción de una secuencia RTP entrante con GStreamer
- 5. Drop caps en pdfLaTeX
- 6. ¿Qué es esta sintaxis haskell?
- 7. ¿Por qué se bloquea este gstreamer pipeline?
- 8. ¿Qué sintaxis extraña de C es esta?
- 9. ¿Qué es la sintaxis de inicialización de estructura etiquetada?
- 10. Split por Caps en Javascript
- 11. ¿Por qué la sintaxis de PyQt connect() es tan detallada?
- 12. ¿Por qué la sintaxis de C++ es tan complicada?
- 13. Gstreamer de python's gst.LinkError problema
- 14. ¿Cómo veo la salida de depuración gstreamer?
- 15. Gstreamer - vaapidecode con mpeg ts sin jugar
- 16. GStreamer vs FFmpeg
- 17. GStreamer en Android
- 18. ¿Qué significa la sintaxis "base"?
- 19. EndPoint: sintaxis en C# - ¿Qué es esto?
- 20. ¿Cuál es el uso de la sintaxis = =?
- 21. GStreamer: cómo conectar pads dinámicos
- 22. ¿Qué significa $ {} en la sintaxis de PHP?
- 23. Cómo mostrar video de avi con gstreamer?
- 24. ¿Qué tipo de sintaxis de Java es "== null? False: true;"
- 25. Plugin GStreamer con GStreamermm (C++)
- 26. Cuál es la diferencia entre flujo de bytes y flujo empaquetado en gstreamer rtsp h264 depayloader
- 27. Python GStreamer cámara web espectador
- 28. Cómo videomixer programa usando Gstreamer C API
- 29. ¿Por qué no es un error de sintaxis?
- 30. Rasgos de sintaxis o por qué es ese pitón válido
tiene muchas respuestas para elegir. ¿Considerarías aceptar uno de esos? –