EricssonResearch / openwebrtc

A cross-platform WebRTC client framework based on GStreamer
http://www.openwebrtc.org
BSD 2-Clause "Simplified" License
1.8k stars 537 forks source link

Is it possible to create a webrtc application without browser using Openwebrtc #403

Closed suganthikarthick closed 9 years ago

suganthikarthick commented 9 years ago

Hi all, We have an embedded device which has a camera. we need to stream the media from the device to a browser (firefox or chrome). The device doesnot have a browser. We need to create a webrtc application which can run without browser and it should be able to send webrtc streams without browser. Whether we can use OpenWebRTC for creating webrtc applications without browser? We have a signaling server also in middle, for initial connection. The device is linux based.

Thanks in advance. Suganthi

superdump commented 9 years ago

Yes, that is quite possible.

suganthikarthick commented 9 years ago

Thanks for your response.

We have the camera seperate and we are receiving the camera streams via Wifi and planning to use gstreamer. The signaling server is websocket based. Whether we can use the test_client.c application for communicating with the web scoket based signaling server, or can we modify for working with a websocket based application?

superdump commented 9 years ago

The test client uses the libsoup HTTP library which supports WebSockets so that part should be doable.

You can either modify OpenWebRTC to add code to receive your camera streams from wifi or you can use libopenwebrtc-gst, though the usability of that is quite immature. You would need to enable building of that part of OpenWebRTC through the configure script options. Then you could create a custom gst media source and set your GStreamer bin that is receiving the camera streams onto it. Note that the output of the bin would need to be uncompressed data currently.

What do you get from your camera streams?

suganthikarthick commented 9 years ago

We are receving as rtp streams from the camera, which is H.264 encoded. Thanks.

suganthikarthick commented 9 years ago

We have implemented an application by having the test_client.c application as a base. When executing, it is showing error as follows.

"owrsession owr_session.c:635:_owr_session_emit_ice_state_changed:OwrMediaSession@0x15870f0 Session 1, ICE failed to establish a connection! ICE state changed from disconnected to failed"

It would be great if someone gives suggestion for resolving the issue. Thanks.

superdump commented 9 years ago

What networks are you devices on? Are you behind any firewalls?

suganthikarthick commented 9 years ago

We are behind our local network and trying to connect to other network. How to resolve the firewall issue?

superdump commented 9 years ago

Are you using a STUN server?

suganthikarthick commented 9 years ago

Yes. We are using the default "stun.services.mozilla.com:3478" for our purpose.

superdump commented 9 years ago

I think we were using that on http://demo.openwebrtc.io/ but it proved to be not so stable, similarly we had issues with Google's STUN server so we switched to our own STUN server. Try with these: https://github.com/EricssonResearch/openwebrtc-examples/blob/master/web/client/main.js#L29

suganthikarthick commented 9 years ago

u meant "mmt-stun.verkstad.net"? Can you give the port numbers also?

superdump commented 9 years ago

3478 is the standard STUN port.

suganthikarthick commented 9 years ago

ok. Thank you so much.

suganthikarthick commented 9 years ago

Hi, We need to use the the media streams via gstreamer instead of capturing from the webcam of my mahcine itself. For using the media streams from gstreamer and use that in openwebrtc, we came to know that we need to enable the --enable-owr-gst=yes in the config file.

How to find whether the flag "--enable-owr-gst" is already enabled. If it is not enabled, how to enable it. Thanks.

superdump commented 9 years ago

The GStreamer parts are disabled by default. You will need to enable them in the build, but know that they are not so mature so you may need to report bugs and/or fix things. You can do that in your cerbero clone by editing recipes/openwebrtc.recipe and adding --enable-owr-gst to the configure flags at the beginning of prepare(): https://github.com/EricssonResearch/cerbero/blob/master/recipes/openwebrtc.recipe#L76

For example, you could add the following line at the beginning of that function:

        self.configure_options += ' --enable-owr-gst '
suganthikarthick commented 9 years ago

Thank you.

  1. Whether the openwebrtc stack supports only raw data and sending it to the cloud in webrtc camptible format?
  2. Whether it is possible to recevie the RTP streams(in any encoding format H.264, MPEG ) from any other source via wiFi and sending it to the cloud in webrtc format?
  3. Also is there any sample code that was done for adding any source element to custom openwebRTC source or is there any guidelines available for the same.
superdump commented 9 years ago
  1. OpenWebRTC can take raw uncompressed audio and video data when using the custom GStreamer sources. It can always be used to send WebRTC compatible data to another end point, whether that is a cloud service or another client.
  2. Yes, using the custom GStreamer sources.
  3. https://github.com/EricssonResearch/openwebrtc/blob/master/tests/test_gst_io.c
suganthikarthick commented 9 years ago

Hi, Thanks for the response.

Still there some confusions. Whether the custom GStreamer sources can be used for receiving ONLY RAW media data OR it is possible to receive a COMPRESSED MEDIA DATA?

Thanks in advance.

superdump commented 9 years ago

Your custom GStreamer source would currently have to decompress the media. See https://github.com/EricssonResearch/openwebrtc/issues/224

suganthikarthick commented 9 years ago

Thank you. Currently I am using the test_gst_io.c sample application for understanding the usage of setting the custom sources in openwebrtc. I made the following changse in test_gst_io.c

define CUSTOM_VIDEO_SOURCE "udpsrc port=5000 ! application/x-rtp ! rtph264depay ! h264parse ! avdec_h264 ! video/x-raw,width=640,height=480 ! autovideosink"

From another machine, I am sending the streams through UDP on port 5000. And, when executing the app, I am getting the following error. Error parsing 'udpsrc port=5000 ! application/x-rtp ! rtph264depay ! h264parse ! avdec_h264 ! video/x- raw,width=640,height=480 ! videoscale' : no element " avdec_h264"

But when I run the above command with gst-launch with the following command, we are not getting error for avdec_h264 element. "gst-launch-1.0 udpsrc port=5000 ! application/x-rtp ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink" Here, we are able to receive the video fine.

It would be helpful if you give your suggestion on why the "no element : avdec_h264" issue is arise when running the test_gst_io.c with modified custom video source.

Thanks.

superdump commented 9 years ago

We don't build gst-libav as part of OpenWebRTC. If you wish to do that then you will need to modify the OpenWebRTC cerbero fork appropriately.

Alternatively, we do build OpenH264 and openh264dec. Try replacing avdec_h264 with openh264dec.

suganthikarthick commented 9 years ago

Thank you so much. Now that error got resolved.

define CUSTOM_VIDEO_SINK "autovideosink"

define CUSTOM_VIDEO_SOURCE "udpsrc port=5000 ! application/x-rtp ! rtph264depay ! h264parse ! openh264dec ! capsfilter caps=\"video/x-raw, width=(int)1280, height=(int)720\" ! videoscale"

Now getting error as follows.

(lt-test-gst-io:7605): GLib-GObject-WARNING **: g_object_set_valist: object class 'GstBin' has no property named 'enable-last-sample' ==== Error message start ==== Error in element udpsrc0. Error: Internal data flow error. Debugging info: gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:media-renderer-1/GstBin:bin2/GstUDPSrc:udpsrc0: streaming task paused, reason not-negotiated (-4) ==== Error message stop ====

superdump commented 9 years ago

Run with GST_DEBUG=6 set in your environment variables, output the log to file, compress it (zip, gzip, bzip2, xz, whatever is fine) and upload it somewhere then link it here.

suganthikarthick commented 9 years ago

Thanks. Sure, I will upload the details. Before that I have a general question. Whether the openwebrtc0.3.0 has support for handling the gst with "udpsrc" in CUSTOM SOURCE without any modification in the openwebrtc stack?

Thanks.

superdump commented 9 years ago

I can't guarantee it but I think it should. You would have to build it yourself as you have done. But it should work.

suganthikarthick commented 9 years ago

Hi,

The modification in test_gst_io.c file is as below:

define CUSTOM_VIDEO_SINK "autovideosink"

define CUSTOM_VIDEO_SOURCE "udpsrc port=5000 ! application/x-rtp !

rtph264depay ! h264parse ! openh264dec ! capsfilter caps=\"video/x-raw, width=(int)1280, height=(int)720\" ! videoscale"

No other changes in the sample file.

The logs that we got is attached with this mail. Please find the attached log file.

Thanks.

On Wed, Jul 1, 2015 at 10:03 AM, Robert Swain notifications@github.com wrote:

I can't guarantee it but I think it should. You would have to build it yourself as you have done. But it should work.

— Reply to this email directly or view it on GitHub https://github.com/EricssonResearch/openwebrtc/issues/403#issuecomment-117432172 .

superdump commented 9 years ago

I don't think attachments work with GitHub. Can you email me privately at robert.swain@ericsson.com?

suganthikarthick commented 9 years ago

We have sent the log file to the given mail id. Thanks.

superdump commented 9 years ago

I see that the H.264 bitstream is identified as H.264 High Profile. OpenH264 does not support High Profile. Is it possible to adjust the settings on your network camera to Constrained Baseline Profile? If not, you will have to look into adding some other H.264 decoder to your build, though that could be as simple as adding gst-libav-1.0 to the dependencies of recipes/openwebrtc.recipe in cerbero.

suganthikarthick commented 9 years ago

configure: Requested 'gstreamer-1.0 >= 1.5.2.1' but version of GStreamer is 1.5.1.1 I added it inside the openwenrtc.receipe dependency. I am getting following error when building.

configure: error: no gstreamer-1.0 >= 1.5.2.1 (GStreamer) found Running command 'sh ./autogen.sh --noconfigure && ./configure --prefix /opt/openwebrtc-0.3 --libdir /opt/openwebrtc-0.3/lib --enable-lgpl --disable-examples --disable-maintainer-mode --disable-silent-rules --enable-introspection --disable-maintainer-mode --disable-silent-rules --enable-introspection '

***\ Error running 'package' command: Recipe 'gst-libav-1.0' failed at the build step 'configure'

superdump commented 9 years ago

You will need to modify the test_client.c code to use the custom media source as it is done in test_gst_io.c

suganthikarthick commented 9 years ago

Ok, Thank you Robert.

suganthikarthick commented 9 years ago

Hi, How to stop the gst custom media source transfer in our native webrtc application. If we need to quit the media transfer, what would be best way to quit it?

Thanks.

superdump commented 9 years ago

Where the source was being used, call set source or set send source with NULL as the source argument. Then unref it with g_object_unref.

superdump commented 9 years ago

You may have to do some manual cleanup of the GStreamer elements after. I'm not sure without looking at the code.

suganthikarthick commented 9 years ago

define CUSTOM_AUDIO_SOURCE "udpsrc port=5001 caps=\"application/x-rtp\" ! rtppcmadepay ! alawdec"

audio_src = get_custom_media_source(OWR_MEDIA_TYPE_AUDIO, CUSTOM_AUDIO_SOURCE);

And the media session part creation part is similar to the test client application.

I am getting following warnings while setting the set_send_source function with NULL param during my reset. CRITICAL **: owr_media_source_release_source_default: assertion 'media_source->priv->source_bin' failed

suganthikarthick commented 9 years ago

Hi, Whether the openWebrtc depends on "libgstdtls and libgstinter"? Do we need these gst plugin elements? If we do not need this, how to remove this library dependency form openwebrtc?

Please give your suggestion on this. Thanks.

superdump commented 9 years ago

Yes, it does.

suganthikarthick commented 9 years ago

Ok. Thank you.

suganthikarthick commented 9 years ago

Hi Robert,

We are currently installing the openwebrtc using cerbero building system in Ubuntu linux. but we are getting the following error.

Running command 'dpkg-buildpackage -rfakeroot -us -uc -D -b' dpkg-buildpackage: source package openwebrtc-gstreamer-1.0-core dpkg-buildpackage: source version 1.5.2-1 dpkg-buildpackage: source distribution unstable dpkg-buildpackage: source changed by OpenWebRTC packages@openwebrtc.io dpkg-buildpackage: host architecture amd64 dpkg-source --before-build openwebrtc-gstreamer-1.0-core-1.5.2 fakeroot debian/rules clean dh_testdir dh_testroot rm -f build-stamp dh_clean debian/rules build dh_testdir touch build-stamp fakeroot debian/rules binary dh_testdir dh_testroot dh_prep dh_installdirs dh_installdocs dh_install dh_testdir -a dh_testroot -a dh_strip -a --dbg-package=openwebrtc-gstreamer-1.0-core-dbg dh_link -a dh_compress -a dh_fixperms -a dh_makeshlibs -a -V dh_installdeb -a dh_shlibdeps -a dpkg-shlibdeps: error: no dependency information found for /opt/openwebrtc-0.3/lib/libjpeg.so.8 (used by debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstopengl.so) dh_shlibdeps: dpkg-shlibdeps -Tdebian/openwebrtc-gstreamer-1.0-core.substvars debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/bin/gst-typefind-1.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/bin/gst-launch-1.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/bin/gst-play-1.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/bin/gst-discoverer-1.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/bin/gst-device-monitor-1.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/bin/gst-inspect-1.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/libexec/gstreamer-1.0/gst-plugin-scanner debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstfft-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstudp.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvolume.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstmulaw.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstrtp.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstrtpmanager.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstpulse.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstopengl.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvpx.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvideorate.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstgtksink.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstaudiorate.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstsrtp.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstaudioconvert.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvideoparsersbad.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvideo4linux2.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstopus.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstaudiotestsrc.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvideocrop.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstalaw.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstopenh264.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvideoscale.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstnice.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvideofilter.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvideoconvert.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstdtls.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstaudioresample.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgsttypefindfunctions.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstapp.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstcoreelements.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstinter.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstvideotestsrc.so debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstcontroller-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstcodecparsers-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstcheck-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstnet-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libvpx.so.2.0.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstriff-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstsdp-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libsrtp.so.1 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstgl-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstapp-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libnice.so.10.6.2 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libopus.so.0.5.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstpbutils-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libopenh264.so.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstbadvideo-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstvideo-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstbase-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstbadbase-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstaudio-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstrtp-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstreamer-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgsttag-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstallocators-1.0.so.0.502.0 debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/libgstrtsp-1.0.so.0.502.0 returned exit code 2 make: * [binary-arch] Error 2 dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2 Traceback (most recent call last): File "./cerbero/main.py", line 105, in run_command res = commands.run(command, self.config, self.args) File "./cerbero/commands/init.py", line 78, in run return _commands[command].run(config, args) File "./cerbero/commands/package.py", line 97, in run args.force, args.keep_temp) File "./cerbero/packages/linux.py", line 57, in pack self.pack_deps(output_dir, tmpdir, force) File "./cerbero/packages/linux.py", line 115, in pack_deps packager.pack(output_dir, self.devel, force, True, True, tmpdir) File "./cerbero/packages/linux.py", line 78, in pack paths = self.build(outputdir, tarname, tmpdir, packagedir, srcdir) File "./cerbero/packages/debian.py", line 282, in build shell.call('dpkg-buildpackage -rfakeroot -us -uc -D -b', srcdir) File "./cerbero/utils/shell.py", line 157, in call raise FatalError(("Error running command: %s") % cmd) FatalError: Fatal Error: Error running command: dpkg-buildpackage -rfakeroot -us -uc -D -b *** Error running 'package' command: Fatal Error: Error running command: dpkg-buildpackage -rfakeroot -us -uc -D -b usage: cerbero-uninstalled [-h] [-c CONFIG] add-recipe,rdeps,tag,genxcconfig,genlibfiles,check,list-packages,build,add-package,show-config,genvsprops,shell,run,cleanone,packageinfo,buildone,wipe,debug-packages,package,bootstrap,list,checkpackage,deps,gensdkshell.

Thanks a lot in advance

superdump commented 9 years ago

`dpkg-shlibdeps: error: no dependency information found for /opt/openwebrtc-0.3/lib/libjpeg.so.8 (used by debian/openwebrtc-gstreamer-1.0-core/opt/openwebrtc-0.3/lib/gstreamer-1.0/libgstopengl.so)``

That is the error line. Does it happen every time? Do you have libjpeg.so.8 somewhere in /opt/openwebrtc-0.3/ ?

suganthikarthick commented 9 years ago

No. We tried once. We have this library libjpeg.so.8 in /opt/openwebrtc-0.3/. But still, we tried to run the application and it is working fine. But we got the error at the last stage of the cerbero build.

suganthikarthick commented 9 years ago

Hi Robert, We have a question when using the local media sources. We have a webcam connected to our system. If the video source is coming as H264 encoded format from the webcam, whether the openwebrtc is able to handle the compressed (H264) video and audio(AAC) sources. Can you please confirm about this?

Thanks.

superdump commented 9 years ago

Now that issue #240 is almost addressed, it should be possible to support compressed sources soon. Maybe hop onto IRC and talk to slomo (@sdroege)

suganthikarthick commented 9 years ago

Thank you so much.

Currently we are using the openwebrtc-0.3 version. In that, if v4l2src is used for capturing the local video source, whether it will be taken as video/x-raw or it is able to use as video/x-h264 in case of compressed video input from webcam?

If reading compressed video is currently not supported, then you are telling that the new openwebrtc stack will be released soon for reading the compressed video (H264)? My understanding is correct?

superdump commented 9 years ago

0.3 will use video/x-raw.

Issue #224 is the one to track for compressed source support.

suganthikarthick commented 9 years ago

ok, Thank you.

suganthikarthick commented 9 years ago

Hi Robert,

Do you have any suggestion on how to send the audio and video in sync from the openwebrtc application? Thanks.

suganthikarthick commented 9 years ago

Hi, In the libvpx library, we have enabled the CONFIG_REALTIME_ONLY and CONFIG_ONTHEFLY_BITPACKING. Now when we are using gst-launch command for sending the video from device to another machine, there is no delay now. But still, a delay of 4s is there in the openwebrtc application. What might be affecting the delay. we played around with the vp8 encoding also.

What else may create this delay of 4s. It would be of great help.

barcoyou commented 9 years ago

Then how to output the remote source into a udp stream (udp://xxxxxxx) rather than rendering on a browser?