Giter VIP home page Giter VIP logo

webrtc / webrtc-org Goto Github PK

View Code? Open in Web Editor NEW
238.0 49.0 138.0 1.46 MB

WebRTC.org website (*** This repository is deprecated ***) - The documentation to contribute to native code is available at https://webrtc.googlesource.com/src/+/refs/heads/master/docs/native-code/index.md, info about WebRTC is available at https://webrtc.org)

Home Page: https://webrtc.org

License: BSD 3-Clause "New" or "Revised" License

HTML 70.31% CSS 19.77% Ruby 0.12% Shell 1.55% SCSS 8.25%

webrtc-org's Introduction

Build Status

The webrtc.org website

This is the repo for webrtc.org, home of the WebRTC project.

For more information about WebRTC, we maintain a list of WebRTC Resources. If you've never worked with WebRTC, we recommend you start with the 2013 Google I/O WebRTC presentation.

We welcome corrections, updates and additions!

See CONTRIBUTING for instructions. All contributors must sign a contributor license agreement before code can be accepted. Please complete the agreement for an individual or a corporation as appropriate.

Add or Edit Content

The webrtc.org site is built from Markdown files, using the Jekyll tool.

The default branch for the webrtc.org repo is gh-pages.

You can review your changes (after you've pushed them) on the GitHub Pages site for your fork. For example, if your username is foobar and you edited the Contributing Fixes page, you can view your updated version online at foobar.github.io/webrtc-org/contributing. A GitHub Pages site is automatically generated by GitHub for every repo that has a gh-pages branch.

You can also build and serve the site locally in order to check your work. See the instructions below.

Where are the Files?

Each page on the site corresponds to an index.md file in a directory of the repository's gh-pages branch. For example, the Development page at webrtc.org/native-code/development corresponds to github.com/webrtc/webrtc-org/tree/gh-pages/native-code/development/index.md.

To simplify URLs, many pages are at the top level of the site rather than in a subdirectory. For example, the Release Notes page is at webrtc.org/release-notes even though it lives under the site's About menu. (The corresponding Markdown file is github.com/webrtc/webrtc-org/tree/gh-pages/release-notes/index.md.)

Make a Correction or update

For minor content changes, fork the repo and make a pull request from your GitHub account.

For major or ongoing changes, create a branch and issue pull requests from that. Please delete the branch once you’ve finished working on it.

Find out more in our Developer's Guide.

Add a New Page

  1. Create a new directory in your local repo, either at the top level of the site or in an existing directory.

  2. Copy an existing index.md file into the new directory you created.

  3. At the start of the new index.md file, adjust the YAML front matter that is used by the Jekyll build tool. For example, the following front matter will cause Jekyll to create a page with the title Android at webrtc.org/native-code/android/index.html:

    ---
    layout: default
    title: Android
    permalink: /native-code/android/
    ---
    
  4. Edit the content of index.md: files are in Markdown format.

    Images are added with markup like the following example (from the Architecture page):

    ![]({{ site.baseurl }}/assets/images/webrtc-public-diagram-for-website.png)

    Add code snippets like this:

    ~~~~~ bash
    export JAVA_HOME=<location of OpenJDK 7>
    ~~~~~
    
  5. Commit and push your work.

  6. Review your changes locally or from the GitHub Pages site for your fork (for example, usename.github.io/webrtc-org).

  7. Make a pull request.

Build and Serve the Site Locally

These steps are optional, and require familiarity with managing gem dependencies. If you're only interested is previewing changes before making a pull request, see Add or Edit Content, above.

  1. If necessary, install Ruby.

  2. Navigate to your webrtc-org repo directory.

  3. Run the following command:

    bundle exec jekyll serve
    

    HTML files are generated in the _site directory and regenerated automatically when you make changes.

  4. View the modified site in a browser at http://0.0.0.0:4000/webrtc-org.

More information is available from Using Jekyll With Pages (but do not run the Setting up Jekyll step!)

webrtc-org's People

Contributors

abmancini avatar agouaillard avatar alvestrand avatar anatolid avatar benjwright avatar braveyao avatar dependabot[bot] avatar drkron avatar ehlemur-zz avatar fippo avatar henbos avatar ilyanikolaevskiy avatar jaoo avatar kaptenjansson avatar kjellander-unity avatar kthelgason avatar kwiberg avatar louquillio avatar magjed avatar minyuel avatar mirkobonadei avatar odinho avatar oprypin avatar rantonysamy avatar saghul avatar samdutton avatar somilbansal avatar taylor-b avatar tednakamura avatar x1ddos 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

webrtc-org's Issues

Bug in code example on https://webrtc.org/getting-started/media-devices

I couldn't find the code for the page https://webrtc.org/getting-started/media-devices in this repo, but in the code block for "Listening for devices changes" instead of the following:

// Listen for changes to media devices and update the list accordingly
navigator.mediaDevices.addEventListener('devicechange', event => {
    const newCameraList = getConnectedDevices('video');
    updateCameraList(newCameraList);
});

it should be:

// Listen for changes to media devices and update the list accordingly
navigator.mediaDevices.addEventListener('devicechange', async event => {
    const newCameraList = await getConnectedDevices('videoinput');
    updateCameraList(newCameraList);
});

(Added async and await, and replaced 'video' with 'videoinput'.)

VP9 missing from documentation

As per bugs.chromium.org/p/webrtc/issues/detail?id=5560:

Reported by [email protected], Feb 19

At https://webrtc.org/architecture/ and https://webrtc.org/faq/ (and possibly others) I noticed that VP9 hadn't been mentioned. Looking at https://developers.google.com/web/updates/2016/01/vp9-webrtc it seems like WebRTC has VP9 support. This is a request to update the documentation with regards to VP9.

[email protected], Today

VP9 is included without a flag since M48 and is not the default video codec yet. And the website should be updated accordingly.

WebRTC std::deque iterator exception while running peerconenction_client.exe debug verion

I compiled webrtc code and generated webrtc.lib and peerconnection_client.exe and peerconnection_server.exe,
but I have a strange error when I run peerconnection_client.exe program in Windows x86 Debug configuration on Visual Studio :

Error message:

C:\Program Files(x86)\Microsoft Visual Studio\2019\Professinal\VC\msvc\14.25.28610\include\deque
line 279

Expression:cannot increment value-initialized deque iterator

//////////////////

_Deque_const_iterator& operator++() {
#if _ITERATOR_DEBUG_LEVEL != 0
const auto _Mycont = static_cast<const _Mydeque*>(this->_Getcont());
_STL_VERIFY(_Mycont, "cannot increment value-initialized deque iterator");
here----> _STL_VERIFY(this->_Myoff < _Mycont->_Myoff + _Mycont->_Mysize, "cannot increment deque iterator past end");**
#endif // _ITERATOR_DEBUG_LEVEL != 0

    ++_Myoff;
    return *this;

}

///////////

With the same configuration (except is_debug=false), the relase version runs well
`

[build webrtc for Windows x86] peerconnection_client crashed after setting is_clang =false

OS: Win10 Pro 64-bit
VS: VS2017,

Build webrtc library for Windows x86.
when i set is_clang = true,
peerconnection_client.exe works well.

but set is_clang = false then
peerconnection_client.exe will crash.
command:
gn gen out/x86/release_clang_flase --ide=vs2017 --args="is_debug=false rtc_include_tests=false target_cpu=\"x86\" symbol_level=0 gtest_enable_absl_printers=false is_clang=false"

two or three seconds later after starting the video chat, peerconnection_client.exe crashed.
errors:
peerconnection_client.exe!_vp8_fast_quantize_b_ssse3�() C peerconnection_client.exe!_vp8_quantize_mby�() C peerconnection_client.exe!_vp8_encode_intra16x16mby�() C peerconnection_client.exe!_vp8cx_encode_inter_macroblock�() C peerconnection_client.exe!_vp8_store_drop_frame_info�() C peerconnection_client.exe!_vp8_encode_frame�() C peerconnection_client.exe!_av1_write_uleb_obu_size�() C peerconnection_client.exe!_vp8_get_compressed_data�() C peerconnection_client.exe!webrtc::Vp8FrameConfig::Updates(enum webrtc::Vp8FrameConfig::Buffer) C peerconnection_client.exe!_vpx_codec_encode�() C peerconnection_client.exe!webrtc::LibvpxInterface::CreateEncoder(void) C++ peerconnection_client.exe!webrtc::LibvpxVp8Encoder::Encode(class webrtc::VideoFrame const &,class std::vector<enum webrtc::VideoFrameType,class std::allocator<enum webrtc::VideoFrameType> > const *) C++ peerconnection_client.exe!webrtc::VideoStreamEncoder::EncodeVideoFrame(class webrtc::VideoFrame const &,__int64) C++ peerconnection_client.exe!webrtc::VideoStreamEncoder::MaybeEncodeVideoFrame(class webrtc::VideoFrame const &,__int64) C++ peerconnection_client.exe!webrtc::VideoStreamEncoder::EncoderRateSettings::operator!=(struct webrtc::VideoStreamEncoder::EncoderRateSettings const &) C++ peerconnection_client.exe!webrtc::VideoStreamEncoder::ReleaseEncoder(void) C++ peerconnection_client.exe!webrtc::CreateTaskQueueWinFactory(void) C++ peerconnection_client.exe!webrtc::CreateTaskQueueWinFactory(void) C++ peerconnection_client.exe!rtc::PlatformThread::Run(void) C++ peerconnection_client.exe!rtc::PlatformThread::StartThread(void *) C++ kernel32.dll!76f86359() Unkown

It seems that after setting is_clang = false, the vp8 encoding is wrong.
How to solve it?

Instructions for building apprtc on Android are outdated

Since the contents in src/webrtc was moved to src/, some instructions on the site are no longer valid.
On https://webrtc.org/native-code/android/ I found two issues:

"For instructions on how to build and run, see webrtc/examples/androidapp/README."
should just say "...see examples/androidapp/README."

and under the section for Android Studio the argument should be
--target "//examples:AppRTCMobile" instead of --target "//webrtc/examples:AppRTCMobile"

VS2017 failed to link to webrtc.lib.

VS2017 failed to link to webrtc.lib.
I used this command:
gn gen out / Release_x86 --ide = vs2017 --args = "is_debug = false target_cpu = " x86 \ "is_clang = false"
to generate webrtc.lib for windows, the generated peerconnection_client.exe and peerconnection_server.exe can work well.
But I built VS2017 project and cannot link webrtc.lib,
The error is:
fatal error LNK1127: library is corrupt

Code block rendering in production

Commit e6a9067 was intended to address code block syntax-highlighting in the updated GitHub Pages environment, which is phasing in Jekyll 3 and a requirement to use the Rouge highlighter. This works as intended in my local clone and my GitHub fork (example):

http://www.quillio.com/webrtc-org/native-code/android/

But it's not working in the production site:

https://webrtc.org/native-code/android/

My guess is that the production site is being generated with different versions of various gems than GH Pages now uses. @crhym3, could you take a look? The most convenient way to update my local env was to uninstall all gems and then reinstall the github-pages gem. Trying to update gems piecemeal sent me into dependency hell.

Thanks!

Fix all broken links

Thanks to @MirkoBonadei suggestion, I ran html-proofer and it appears webrtc.org has quite a few broken links. Here are the commands I used:

# build the website:
bundle exec jekyll build --config _config.yml,_config_prod.yml

# check broken links:
gem install html-proofer
htmlproofer ./_site --only-4xx --allow-hash-href --alt-ignore '/.*/'

And here's the output:

Running ["ScriptCheck", "LinkCheck", "ImageCheck"] on ["./_site"] on *.html... 

Checking 379 external links...
Ran on 75 files!

- ./_site/blog/2012/03/05/source-code-to-apprtc.appspot.com-example-app-available.html
  *  External link https://chromium.googlesource.com/external/webrtc/+/master/talk/examples/android/src/org/appspot/apprtc failed: 404 No error
- ./_site/blog/2012/03/14/peerconnection-is-now-deprecatedpeerconnection.html
  *  External link http://code.google.com/p/webrtc-samples/source/browse/#svn%2Ftrunk%2Froap-jsep failed: 404 No error
- ./_site/debug/index.html
  *  External link https://github.com/louquillio/webrtc-site failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/10 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/11 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/12 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/13 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/14 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/15 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/16 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/17 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/2 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/4 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/5 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/6 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/7 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/8 failed: 404 No error
  *  External link https://github.com/louquillio/webrtc-site/issues/9 failed: 404 No error
  *  internally linking to /archive/, which does not exist (line 344)
     <a href="/archive/">archive</a>
- ./_site/faq/index.html
  *  External link https://chromium.googlesource.com/external/webrtc/+/master/webrtc/video_engine/include/vie_render.h failed: 404 No error
- ./_site/license/ilbc-freeware/ilbc-extra-documentation/index.html
  *  External link http://www.ilbcfreeware.org/documentation/ietf55-avt-duric.pdf failed: 404 No error
  *  External link http://www.ilbcfreeware.org/documentation/ietf56-avt-duric.pdf failed: 404 No error
- ./_site/native-code/android/index.html
  *  External link https://chromium.googlesource.com/external/webrtc/+/master/webrtc/api/java/README failed: 404 No error
- ./_site/native-code/native-apis/index.html
  *  External link https://chromium.googlesource.com/external/webrtc/+/master/webrtc/api/peerconnection.h failed: 404 No error
- ./_site/start/index.html
  *  External link http://auduno.github.io/clmtrackr/face_mask.html failed: 404 No error
  *  External link http://bit.ly/learnwebrtc failed: 404 No error
  *  External link http://hu.tt failed: 404 No error
  *  External link https://plus.sandbox.google.com/113817074606039822053/posts failed: 404 No error
- ./_site/testing/conformance/index.html
  *  External link http://build.chromium.org/p/chromium.webkit/builders/WebKit%20Linux%20%28dbg%29 failed: 404 No error
- ./_site/web-apis/index.html
  *  External link http://docs.webplatform.org/wiki/apis/webrtc failed: 404 No error
htmlproofer 3.6.0 | Error:  HTML-Proofer found 31 failures!

/cc @louquillio @samdutton

Status of Implementation page

The page at /status/ ("Status of Implementation") seems
to be an orphan, and has no nav link in the old or new sites.
What's the current disposition of this content?

Sync web page contents with the old site

Several pages are out of date when compared with the old site at https://sites.google.com/site/webrtc/.

@louquillio did you have a good way of syncing them, or is it just manual work? If so we should at least load-balance the work to get it synced up quickly.
I recall you kept a record on what changes were synced back when the new site was being developed. Maybe you can create a list of which changes needs to be synced?

Code span/block formatting

Formatting of code spans and blocks looks crummy -- owing partly to imperfect local replication of GH's Jekyll environment and syntax highlighter.

Also, padding-left on pre + code is cascading improperly. First line of a code block shows superfluous indent.

frame limitation 10ms error

With this library, there is the frame limitation hardcoded of 10ms, 20ms, 30ms where as the minimum possible is only 10ms. Is there any way to make it like 1ms / 2ms / 3ms / 4ms / 5ms / 6ms 7ms / 8ms / 9ms or so flexible or at least any reduced small possible frame? because this frame size has issues. Please help.

Rename ICE to "ISE"

"ICE" is an organization that forces mexican immigrants outside the US thus might be triggering to persons of hispanic descent. It'd be much better if we renamed ICE to "ISE".

onBufferedAmountLow executes too late

When I am executing the send() - method on my dataChannel too often in a short period of time the message buffer flows over. I tried to fix this by stoping bthe execution on the onBufferedAmountLow event. But when the event is called the buffer is already full.

Is this a known problem or is there any workaround?

so where is android/ios version?

lots of people redirect how to use webRTC on android / ios to here
but sadly, there is 404 error.
does webRTC stop support native app?
or just link is changed?

Thanks.

Chromebook chromeos version 83.0.4103.97 chrome extension webrtc audio to any peer So many noise

While Chromebook ChromeOS Chrome version updated to new stable version 83.0.4103.97 from 81.xxx or lower,the sender auido got from chrome extension webrtc sound so many noise at the receiver peer on android or win or other system, just ChromeOS has this problem, others not.
And if a new tab page hold the microphone stream got by navigator.mediaDevices.getUserMedia({audio: true, video: false}) api,the noise problem disappear,and happen again while release the microphone stream or close the tab page.
Any sugestion?

the chromium issue link:
https://bugs.chromium.org/p/chromium/issues/detail?id=1094279

what is the state of this repository?

it looks like webrtc.org was updated. However, the new content looks like its missing a lot of things, including content updates in the last 12 months (in particular #229). Changelogs are missing, so are the protocol descriptions for various header extensions. The unified plan description/timeline page is AWOL too.

What is the plan?

Thankfully this page still gets deployed to gh-pages ;-)

Html-proofer should be reenabled.

Htmlproofer was disabled because of a tricky self-link at the rtp-hdrext page. It should be re-enabled back.
Currently there are some broken links preventing from doing that:

- ./_site/start/index.html
  *  External link https://protothon.com/blog/2012/mar/27/red-square-puzzle-group failed: 404 No error
htmlproofer 3.7.2 | Error:  HTML-Proofer found 1 failure!

WebRTC logo does not link to the baseurl properly

When clicking the WebRTC logo I would expect to go back to the landing page but the URL is always the current one rather than real baseurl (should webrtc.org).

I took a quick look and could not figure out what's wrong due to not knowing the templating framework used. However I can take a proper look at it after the holidays.

Code span/block formatting

Formatting of code spans and blocks looks crummy -- owing partly to imperfect local replication of GH's Jekyll environment and syntax highlighter.

Also, padding-left on pre + code is cascading improperly. First line of a code block shows superfluous indent.

DataChannel is not stable

Hi dev team,

I have implemented an Android app that transfer data between 2 devices. But the DataChannel object is not stable. After some message, the DC object is null. I used observer to hook CLOSING and CLOSED event and recreate another DC with other label. But the DC still null after that. Please help me

Here is my code:

public void onDataChannelDisconnected(String peer_id)
{
Controller.this.rtcClient.getPeer(peer_id).CreateDataChannel();
}

public void CreateDataChannel()
{
DataChannel.Init init = new DataChannel.Init();
init.negotiated = false;
init.ordered = true;
init.maxRetransmits = 30;
this.dc = pc.createDataChannel(UUID.randomUUID().toString(), init);
}

Add KITE in the Homepage

It will be nice to add KITE, a test engine designed to test WebRTC interoperability across browsers - into webrtc/start - Developer tools.

Ask a question about PCC congestion control

In function OnSentPacket(SentPacket msg) of "pcc_network_controller.cc" file. There is codes
if (last_received_packets_.size() > 0)
sending_time = last_received_packets_.back().receive_time -
last_received_packets_.front().receive_time;
DataRate receiving_rate = bandwidth_estimate_;
if (sending_time > TimeDelta::Zero())
receiving_rate = received_size / sending_time;
bandwidth_estimate_ =
std::min(bandwidth_estimate_ * 0.5, receiving_rate);
But the unit of sending_time is ms(millisecond), the unit of received_size is bytes. So the unit of receiving_rate is B/ms,is not bps, is it right? but the unit of bandwidth_estimate_ is bps. So what does it mean? The unit is different?

Another question:
In function ComputeDelayGradient(double delay_gradient_threshold) of file "monitor_interval.cc", why the unit of delay is us(microsecond)? And by analyzing the source code of us(), I found this function does nothing but call function ToValue(), so the result is still ms(millisecond)? I am confused. Can anyone answer to me? Thanks a lot!

Migrate to Travis CI

Creating this bug mostly for myself and also /cc @MirkoBonadei because we had a discussion about this in #116. I know it's been a crazy long time but I'm getting to it now. Better late than never.

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.