Giter VIP home page Giter VIP logo

webrtc-examples's People

Contributors

akeller avatar drichards-87 avatar engineershamrock avatar fdwowza avatar izenoni avatar razorborg avatar sabrinacanas-wowza avatar santiagopuppo-wowza avatar santipuppoqualabs avatar wowzaandrew avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webrtc-examples's Issues

screen sharing with PiP Webcam.

Describe the solution you'd like
When we share the screen I would like to also send the webcam in a Picture in picture box.

Describe alternatives you've considered
The simply way is to create 2 connection and send 2 streams but its not efficient.

As I understand a way to make this is to create a canvas and draw the screen sharing and the PiP box on it, then send the canva's result as a video to Wowza.

Code examples for Angular 2+

Is your feature request related to a problem? Please describe.
No angular example

Describe the solution you'd like
WebRTC Video streaming in angular 6+

Describe alternatives you've considered
None.

Additional context
Please provide code examples on how to use wowza web rtc video streaming in Angular.

Settings.js 404's

Settings should be imported via

import Settings from './lib/Settings.js';

in both play.js and publish.js

WebRTC: Failed to parse video codecs correctly.

Why do i keep getting this error with your webrtc-examples in Chrome and Safari browser? Sometimes i had to click the "Start streaming" multiple times and then it will work. I'm using the latest WebRTC from this repo.

Here's the video source and transcoder settings:

Live Stream Type
Adaptive bitrate

Billing Mode
Pay as you go

Delivery Protocol
Apple HLS

Reduced Latency Stream
No

Source Aspect Ratio
16:9 (Widescreen) -- 640 x 360

Recording
Yes

Closed Captions
None

[BUG] H.265/HEVC playback doesn't work with Wowza Webrtc

Hi,

Chrome browser started to support H.265/HEVC decode more than a month ago, wowza webrtc library fails to play back H.265 encoded webrtc video. Ant Media has a great support already for webrtc h.265 video playback, why does it fail when trying to play Wowza Streaming Engine encoded h.265?

When mpeg dash is used, encoded with h.265/HEVC with videojs, playback works fine in chrome, but when I try wowza specific webrtc it's still failing, complaining about h.265 codec.

Thanks for looking into!

[BUG] Failed to parse video codecs correctly exception is thrown

Failed to parse video codecs correctly exception is thrown

Describe the bug
Sometimes, the "Failed to parse video codecs correctly" exception is thrown while trying to set local description (Peer connection message is shown on the UI) when the user trying to publish the stream in Safari.

To Reproduce
Steps to reproduce the behavior:

  1. Go to the "Publish" tab in Safari
  2. Click on Publish with default settings. Sometimes the error occurs (not every time).

Expected behavior
The local description should be set. I have removed the mungeSDP for local testing and the error disappeared. It seems to be a bug in the mungeSDP code.

Screenshots
image

Are you using Wowza Streaming Cloud or Wowza Streaming Engine?
Wowza Streaming Engine 4 Perpetual Pro Edition 4.8.5 build20200616153358

Desktop (please complete the following information):

  • OS: osx
  • Browser: safari
  • Version: 13.1 (15609.1.20.111.8)

Are you running this locally (via localhost)?
Tested locally and using Wowza jquery example

Meeting example / irregular websocket error in clients

I'm currently testing the meeting example.
I have the problem of an irregular Websocket Error of the remote streams and also irregularly in the different clients.
Unfortunately I cannot find any connection why the error sometimes occurs
It would be nice if you are able to check the reason
Find attached the console logs. (if you need more logs or settings please let me know)

New stream connecting to Wowza Streaming Engine
webrtcMeetingActions.js:14 checking add
webrtcMeetingActions.js:16 adding: 2
PeerPlayer.js:30 peer player
startPlay.js:140 Websocket Error
startPlay.js:141 Objectmessage: "Waiting for stream: 2"proto: Object
PeerPlayer.js:58 Objectmessage: "Websocket Error: Waiting for stream: 2"proto: Object
webrtcMeetingActions.js:14 checking add
webrtcMeetingActions.js:26 checking remove
webrtcMeetingActions.js:14 checking add
webrtcMeetingActions.js:26 checking remove

Meeting page not working

Describe the bug
It is not possible to start an audio meeting, video meeting or audio/video meeting

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'https://www.wowza.com/developer/webrtc/dev-meeting'
  2. Fill in the Signalling url with a vali url
  3. Fill in the application and stream name fields with valid values
  4. click Join
  5. an erro occurs: PeerConnection Error: Failed to parse SessionDescription. m=video 9 UDP/TLS/RTP/SAVPF Invalid value: .

Expected behavior
The meeting should start with no errors

Screenshots
see attached files

Are you using Wowza Streaming Cloud or Wowza Streaming Engine?
Wowza streaming Engine 4.8.21+6 build 20230125151621

Desktop (please complete the following information):

  • OS: MacOS
  • Browser: both chrome, safari
  • Version chrome 113.0.5672.92 (Official Build) (x86_64), safari 15.6.1 (17613.3.9.1.16)

Are you running this locally (via localhost)?
Nope, I'm using the web client hosted by Wowza.com (https://www.wowza.com/developer/webrtc/dev-meeting) and an Wowza Media Server running on ec2 aws instance
Screenshot 2023-05-24 at 13 08 52405
Screenshot 2023-05-24 at 13 09 35522

Framerate changes not applying

constraintsChanged doesn't seem to switch to true when frame rate changes.

Frame rate changes do apply when a different resolution is chosen.

Cannot play LIVE streams in mobile browsers

Describe the bug
I cannot play LIVE streams in mobile browser. LIVE is also being streamed from mobile browser. It's working if I watch from PC when I stream from my phone and watch on my phone if I stream from PC.

To Reproduce
Steps to reproduce the behavior:

  1. Create a LIVE stream from any mobile browser. I've used the latest Google Chrome.
  2. Click 'Play' button on the Play page after completing the form

After the player connects, it produces the SDP in the console and immediately after that it produces this error:

WowzaWebRTCPlay.js:140 WowzaWebRTCPlay ERROR:
WowzaWebRTCPlay.js:141 DOMException: Failed to execute 'setRemoteDescription' on 'RTCPeerConnection': Failed to set remote offer sdp: Failed to set remote video description send parameters for m-section with mid='video'.

Expected behavior
I expect to stream and watch the LIVE without any trouble from mobile browser.

Are you using Wowza Streaming Cloud or Wowza Streaming Engine?
Wowza Streaming Engine 4 Subscription Edition 4.8.5 build20200616153358

Are you running this locally (via localhost)?
At first, yes. Then I later tested this with https://www.wowza.com/developer/webrtc/dev-view-publish. Same result.

Additional context
Here is my SDP of player.

SDP Data: v=0
o=WowzaStreamingEngine-next 1525832477 2 IN IP4 127.0.0.1
s=-
t=0 0
a=fingerprint:sha-256 E0:F8:15:0B:EE:72:2E:D1:AA:FB:F3:7C:0B:B0:9B:FE:3C:8D:34:6F:F4:36:B1:E8:96:72:76:02:95:D1:15:E0
a=group:BUNDLE video audio
a=ice-options:trickle
a=msid-semantic:WMS *
m=video 9 RTP/SAVPF 97
a=rtpmap:97 H264/90000
a=fmtp:97 packetization-mode=1;profile-level-id=42801f;sprop-parameter-sets=Z0KAH9oC0ChoB4RCNQ==,aM4NiA==
a=cliprect:0,0,1280,720
a=framesize:97 720-1280
a=control:trackID=2
c=IN IP4 0.0.0.0
a=sendrecv
a=ice-pwd:a174cfb74511f47ef33daa3fd5e0da5f
a=ice-ufrag:5f32e994
a=mid:video
a=msid:{f82c65dd-f7eb-4826-9d51-5e3e8013936f} {8dc14fd0-19d2-4360-a599-3d00a8c99d99}
a=rtcp-fb:97 nack
a=rtcp-fb:97 nack pli
a=rtcp-fb:97 ccm fir
a=rtcp-mux
a=setup:actpass
a=ssrc:1877056441 cname:{f790c2bc-0cd0-45a2-a461-33e4d90749c2}
m=audio 9 RTP/SAVPF 96
a=rtpmap:96 OPUS/48000/2
a=control:trackID=1
c=IN IP4 0.0.0.0
a=sendrecv
a=ice-pwd:a174cfb74511f47ef33daa3fd5e0da5f
a=ice-ufrag:5f32e994
a=mid:audio
a=msid:{f82c65dd-f7eb-4826-9d51-5e3e8013936f} {5fedca2b-80fb-4847-8449-d273b7168dbd}
a=rtcp-mux
a=setup:actpass
a=ssrc:870204950 cname:{f790c2bc-0cd0-45a2-a461-33e4d90749c2}

failure tolerance

Is your feature request related to a problem? Please describe.
If there is a network error and the publisher lost connection it need to recover, right now it stop sending data.
Describe the solution you'd like
On every network or peer conection error try to reconect.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
on src/lib/WowzaPeerConnectionPublish.js line 147:

if (msgStatus != 200) {
  stop();
  errorHandler({message:msgJSON['statusDescription']});
 start(); //To start again
}

As I understand this is not the only piece of code where the communication could fail, it's need that this client be robust and fail tolerant.

Additional context
Add any other context or screenshots about the feature request here, including if your feature request is for something that is currently a feature in Wowza Streaming Engine or Wowza Streaming Cloud and vice versa.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.