can the agora virtual background sdk be usedd with WebRTC protocol - background

I want to integrate the Virtual Background feature into my application.My website uses WebRTC protocol but the virtual background sdk uses the RTMP protocol.So is it possible for me to somehow integrate this virtual background sdk into my application?If yes, how do i do so?
SDK link :
https://www.agora.io/en/blog/agora-io-sdk-version-2-3-av-fallback-background-images-and-more-in-this-release

I think you are misunderstanding the feature you are referring to in the link.
This feature is not segmentation based virtual backgrounds, it's meant for use when pushing streams from Agora.io to a 3rd party RTMP url.
In the setLiveTranscoding configuration you would set a background image and when Agora composites multiple streams into one of its predefined templates, so the videos display in the given configuration and you can add a background image behind the streams so it's not black if one of the streams stops broadcasting.
AgoraImage io.agora.rtc.live.LiveTranscoding.backgroundImage:
The background image added to the CDN live publishing stream. Once a background image is added, the audience of the CDN live publishing stream can see it. See AgoraImage.

Related

Hikvision MJPEG substream embed to HTML

we're using a couple of hundreds Hikvision Cameras (DS-9664NI-I8) for a University. We want to embed them to a web page hosted locally. Cameras, NVR, and webpage are on same local network.
We don't want to use RSTP, we will use HTTP.
We're able to run the camera sub-stream on the browser using the following URL
http://<username>:<password>#<IP Address>/Streaming/channels/102/httpPreview
But, when I embed this to image src, this won't work, as browsers don't support the HTML embedded credentials.
How to play the camera streams on the web page?
You can disable security on streams. But if it possible - that depends on your camera and its firmware version. And be aware of consequences of course, secure your image with another means - firewall, etc.

How to turn webcam to rtsp

I have a product that can analyze video after inputting an rtsp url.
I would like to use a webcam to stream and feed my product the webcam rtsp.
How can I do that?
It will depend on the webcam you are using - most support RTSP but many do not publish the interface to access the stream as they are designed to be used with the webcam's own companion app.
There are some web resources which provide the RTSP urls for common web cams - you may find it hard to find a match as new versions of webcams roll out but it should give you a feel how to try accessing a vendors camera if you have a specific web cam you are testing against. Some examples (at the time of writing):
https://www.getscw.com/decoding/rtsp
https://soleratec.com/get-support/rtsp/
If you can't find the info for the camera you are using, and you have the companion app, you can also use a network sniffer tool like Wireshark (https://www.wireshark.org) and try to search the traffic for 'rtsp://' pattern.
If you just need to test your app and have access to a raspberry pi with a camera module you can also use this to generate an RTSP stream - there are several approaches for this but one I have found reliable is the v4l2rtspserver server:
https://github.com/mpromonet/v4l2rtspserver
There are specific instructions for setting it up on PI (https://github.com/mpromonet/v4l2rtspserver/wiki/Setup-on-Pi) and you can also verify it is working using VLC player on a laptop etc before testing in your specific application.
There are also a small number of test RTSP urls available on the web - the most reliable seem to be the one at this link provided by Wowza (again, link valid at time of writing):
https://www.wowza.com/html/mobile.html

Sony Camera Remote API beta SDK: how to deactivate auto focus on QX10?

Since Sony XQ10's auto-focus can't be deactivated via its app-menu, is there a way to do so using the SDK?
Corresponding reference Sony Camera Remote API doesn't contain any "setFocusMode" or similar. Helper Library on GitHub has it...but for which cameras? Any experiences?
Cheers,
Lara
This is not currently supported in the Camera Remote API SDK. There is an update planned for spring which will include additional features but not sure about auto-focus control:
https://developer.sony.com/2014/02/24/new-cameras-now-support-camera-remote-api-beta-new-api-features-coming-this-spring-to-selected-cameras/
Keep checking https://developer.sony.com/ for updates on the API!
Just checked Camera Remote API Reference Febr 2017 (Beta) for a possibility to set or get the focus position through the api. Seems it's still not supported.

Creating a WebRTC receiver

I am new to WebRTC and trying to figure out how to create a program outside a browser which receives a WebRTC audio stream and outputs it on speakers.
Are there any WebRTC libraries for Java or C#?
That receiver will be running on a linux machine.
--
I've been thinking about using getUserMedia() to access the microphone. But then:
In what format will such a stream be transmitted?
Let's say I use WebRTC2SIP and build a Java endpoint using JSIP;
or I just use a socket and send the stream over http.
What audio format will I get on the receiver side? So far I have read WebRTC does compress the stream somehow.
I guess there are two ways for you:
build the whole WebRTC voice engine for android/iOS or Mac etc., and just use the API provide by VOE.
build standalone NS/VAD/AECM/AGC modules and using it in your project. for example, you build standalone NS module for android mobile, you use AudioRecord(java layer, android things) to record sound from MIC, and do the noise suppression process on these data(jni layer, WebRTC things), and finally playback the processed data by using AudioTrack(java layer, android things).
EDIT:
for the 2nd situation, the format is PCM raw data.
Check out the working Audio demo and code at demo.easyrtc.com
The code is all open source and can be checked out at https://github.com/priologic/easyrtc
You can look for any known issues around easyRTC at our forum at
https://groups.google.com/forum/#!forum/easyrtc
Also check out our main site at easyrtc.com

Newbie question on Flash video players, products/SDKs, and API

I'm a C programmer and a total newbie to Flash/video/web world. Don't know where/how to start, and so would greatly appreciate your initial help.
Question
If I need to host flash videos off of my website (instead of embedding YouTube links on my webpages),
AND
If I need to provide player API like YouTube's that can be used, say, for supporting chromeless player versions customizable via this custom API of mine...
THEN
What do I need to do essentially...?
Write a custom Flash video player?
If yes, how? I mean, using which Adobe products / tools / SDKs / language(s)?
Is there anything free/opensource available for doing this? Especially, for Linux platform?
Write a new browser (firefox) plugin for users visiting my site?
Not sure how my custom Flash video player will get to the user visiting my site for the first time?
Any books, resources that cover this problem well?
Does the Flash content need to hosted off of a Windows server only?
Currently lost. Thanks in advance,
/SD
Flash has video playback support built-in, so all you need to do is use the Flash authoring environment or Flex to compile a .SWF file that uses the video API, with some buttons to stop and start the stream, volume, seeking, anything else you want your player to do.
Many people have already done this for you, in a way you can easily use from simple HTML. See eg. OSFLV, Flowplayer, JW...
Write a new browser (firefox) plugin for users visiting my site? Does the Flash content need to hosted off of a Windows server only?
Lord no! Flash video would never have taken off if it was just another custom-server+custom-plugin piece of unpleasantness. Though special streaming servers are possible, for the most part it's just an FLV file sitting on a web server.
(FLV is the video format supported by the Flash video playing functions. There are many, many tools you can use to convert other formats to it; I use Avidemux.)
If you are planning to use a "Progressive Download" approach, then your FLV files can be hosted on a Windows or a Linux box. Be aware that:
it is no as efficient as true
streaming.
you may not use it for live events
nor only for stored video files.
it cannot automatically detect the
end user's connection speed.
it is not possible to jump ahead to
another part while it's downloaded.
the video file will be saved on the
end user's computer.
If you are planning to use a "Streaming" approach then you can either buy and use Adobe's solution (Flash Media Server, available on both Windows and Linux box) or sign up for a hosted solution. On this page you will find recommended providers by Adobe. I personally have been using Influxis's hosting with success for a couple of years already.
You can also write your own streaming server but that would be a lot of hard work. If you are interested in that, I would recommend you have a look a Red5 which is an open source Flash Server written in Java.