I have installed GStreamer-1.18.0 from source along with base, good, bad and ugly plugins.
I am unfamiliar with WebRTC so I decided to start with a demo and see how it works. I have found a small demo at https://github.com/centricular/gstwebrtc-demos/tree/master/sendonly.
Unfortunately when running the demo and browsing to the location I get the following error in the terminal:
WebRTC page link: http://127.0.0.1:57778/
Processing new websocket connection 0x6d14c0
** (webrtc-unidirectional-h264:168870): ERROR **: Could not create WebRTC pipeline: could not link payloader to webrtcbin, webrtcbin can't handle caps application/x-rtp, media=(string)video, encoding-name=(string)H264, payload=(int)96
Trace/BPT trap (core dumped)
Here is the pipeline command attempted by the demo application:
gst-launch-1.0 webrtcbin name=webrtcbin stun-server=stun://stun.l.google.com:19302 v4l2src ! videorate ! video/x-raw,width=640,height=360,framerate=15/1 ! videoconvert ! queue max-size-buffers=1 ! x264enc bitrate=600 speed-preset=ultrafast tune=zerolatency key-int-max=15 ! video/x-h264,profile=constrained-baseline ! queue max-size-time=100000000 ! h264parse ! rtph264pay config-interval=-1 name=payloader ! application/x-rtp,media=video,encoding-name=H264,payload=96 ! webrtcbin.
This seems wierd to me since when I inspect the webrtcbin, it does say that it has capability for application/x-rtp (also in GStreamer documentation):
Prompt--> gst-inspect-1.0 webrtcbin
...
Pad Templates:
SINK template: 'sink_%u'
Availability: On request
Capabilities:
application/x-rtp
Type: GstWebRTCBinPad
Pad Properties:
transceiver : Transceiver associated with this pad
flags: readable
Object of type "GstWebRTCRTPTransceiver"
Are there any suggestions on how to solve this? Perhaps something was not installed correctly in the GStreamer package? or maybe I am missing something in the OS permissions\setup?
GStreamer was missing nice plugin. This problem was solved by making sure libgstnice.so was in the correct location.
Related
I am trying to run the maxent function in the dismo package on macOS through rJava and keep getting this error message.
Error in rJava::.jcall(mxe, "S", "fit", c("autorun", "-e", afn, "-o", : java.awt.HeadlessException
Has anyone seen it before and know how to fix it? Thank you so much!
I am working as a dev for EcoCommons (https://app.ecocommons.org.au)
I was having this issue with building out our coding cloud, which is a jupyterhub k8s deployment (https://analysis-tools.app.ecocommons.org.au/coding-cloud). We are using Rstudio Server, but I would imagine the issue is similar perhaps.
RStudio sets the DISPLAY env variable. What you will need to do is unset this high up in your script.
sys.unsetenv('DISPLAY')
I'm using karate v0.9.6, and it's wonderful tool.
I have a >1000 scenarios, each of them need to token for work, so i use callSingle in karate-config.js for creating and caching tokens. I use standalone jar file.
Part of my karate-config.js:
var auth_cfg = {
server: env,
credentials: karate.properties['credentials']};
var result = karate.callSingle('classpath:credentials/generate_tokens.feature', auth_cfg);
I'm using .sh file like this:
rm -rf target &&
java -Xmx2048m \
-Dlogback.configurationFile=cfg/logs_debug.xml \
-jar \
-Dcredentials=data.json \
karate-1.0.1.jar -e https://my-server/ \
--tags ~fixme \
--tags ~ignore \
--threads 4 \
features/services/simple_plan.feature
And, it's working perfectly on v.0.9.6 long time.
But, when I'm try to upgrade to v 1.0 or 1.0.1, a give an error:
org.graalvm.polyglot.PolyglotException: not found: credentials/generate_tokens.feature
I found this issue: https://github.com/intuit/karate/issues/1515
But examples not working for me. I'm trying use "file:" and karate.properties['karate.config.dir'] + '/features/auth/auth.feature'.
Always i got an error:
not found: credentials/generate_tokens.feature
Who else has faced this problem?
As you can see in the discussion of #1515 - this is why we'd really like more folks to try the RC versions and give us feedback (we spent months on this) instead of waiting for 1.0.
Yours seems to be an edge case where you are using the stand-alone JAR and a custom shell script.
My first suggestion is to use the -w flag. This is a new argument in 1.0 which can set the "current working directory", but it should default correctly in your case.
The second suggestion is to set the classpath for the JVM. Use this as a reference: https://stackoverflow.com/a/58398958/143475 - and once you do that, classpath: will work as you expect.
Else please follow this process: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue - and I have to say that unless you can help us fix this, you may have to remain on 0.9.6 for a while. Sorry.
Peter Thomas, thank you for fast response!
I modify callSingle function, and .feature file wich called by callSingle - change "classpath:" to "file:"
karate.callSingle('file:credentials/generate_tokens.feature', auth_cfg)
,
# read credentials
* def authdata = read('file:credentials/' + credentials)
and it's works now. Before, when i change classpath: to file: i, probably made a mistake.
Thanks for so awesome testing framework!
At the end of the installation with composer this error appears:
Executing script cache:clear [KO]
[KO]
Script cache:clear returned with error code 1
!!
!! In SecurityExtension.php line 561:
!!
!! Algorithm "argon2i" is not available. Either use "argon2id", "auto" or upgr
!! ade to PHP 7.2+ instead.
!!
!!
!!
Script #auto-scripts was called via post-install-cmd
I use a Mac with Catalina OS
XAMPP
PHP 7.2.29
How can i fix this error
Try to change in config/packages/security.yaml these lines:
security:
...
encoders:
Sylius\Component\User\Model\UserInterface:
algorithm: sha512
argon2i : sha512
source
I have hard time getting the playbin element working on a VM. When I run the pipeline:
gst-launch-1.0 playbin uri=https://www.freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm
I get the following error:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Got context from element 'source': gst.soup.session=context, session=(SoupSession)NULL, force=(boolean)false;
Got context from element 'sink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Got context from element 'playsink': gst.gl.GLDisplay=context, gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayX11\)\ gldisplayx11-0";
Redistribute latency...
ERROR: from element /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0: Failed to convert video buffer
Additional debug info:
gstglcolorconvertelement.c(218): gst_gl_color_convert_element_prepare_output_buffer (): /GstPlayBin:playbin0/GstPlaySink:playsink/GstBin:vbin/GstGLImageSinkBin:glimagesinkbin0/GstGLColorConvertElement:glcolorconvertelement0
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
Does anyone know why the element glcolorconvertelement0 fails to convert the video buffer?
I'm currently working on a VM with xubuntu (18.04.1), with the last gstreamer pakage installed (1.14.1).
Additional info: I've got the same error also when I try to play a local .mp4 file. Outside of the VM it all works just fine.
Thanks to you all
I managed to figure it out. It's as simple as changing the (virtual) video card on the VM Screen settings.
VM Screen Settings
I was trying to use this plugin and it seemed pretty simple and effective. I was able to create the exchange but when i am publishing a request, if there is a non zero x-delay value, i am unable to see the message being passed on the queue.(works fine with x-delay equals 0)
I am using pika and python; the following command was used to create the exchange:
channel.exchange_declare( exchange="central_exchange", exchange_type='x-delayed-message', passive=False, durable=False, auto_delete=False, internal=False, arguments=args )
for publishing the message:
channel.basic_publish(
exchange="central_exchange",
routing_key="my_queue",
body=message,
properties=pika.BasicProperties(headers={"x-delay": 5000})
)
Thanks for your help!
Looking at the logs, the plugin trying to run erlang files which were throwing errors.
It seems this plugin only supports Erlang/OTP 18.0 or later.
The standalone version of rabbitmq was bundled with erlang 17.5. had to install it using homebrew, updated erlang, now working like a charm!!
All thanks to michaelklishin (writer of plugin) for his help :)