Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.

Wait for datachannel #592

Open
wants to merge 37 commits into
base: master
Choose a base branch
from
Open

Wait for datachannel #592

wants to merge 37 commits into from

Commits on Nov 28, 2018

  1. The libwebp+canvas baseline.

    ankh-g committed Nov 28, 2018
    Configuration menu
    Copy the full SHA
    7c898d3 View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2018

  1. mime_type: application/wasm

    ankh-g committed Nov 29, 2018
    Configuration menu
    Copy the full SHA
    85c1a1f View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2018

  1. First cut on libvpx. Use ?libvpx=1 to try this.

    It encodes a single 640x480 all-zeros frame with VP8
    and prints the IVF packet (a key-frame).
    ankh-g committed Nov 30, 2018
    Configuration menu
    Copy the full SHA
    fef8c8c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f1641cf View commit details
    Browse the repository at this point in the history
  3. Encode a stream of video frames.

    On a mouse click it sends the current video frame to VP8
    and prints the generated IVF packets. If the frame hasn't
    changed much, the output is a small 200-500 bytes delta.
    If the new frame is very different, then the output is a 5-6 KB
    key-frame.
    ankh-g committed Nov 30, 2018
    Configuration menu
    Copy the full SHA
    07d4ac7 View commit details
    Browse the repository at this point in the history
  4. Allow to choose codec with ?codec=vp9.

    Default VPX params:
    
       ?codec=vp8    Can also use vp9.
       ?width=640
       ?height=480
    
    For example, to encode 720p video with VP9 use:
    
       ?libvpx=1&codec=vp9&width=1280&height=720
    ankh-g committed Nov 30, 2018
    Configuration menu
    Copy the full SHA
    4d64bec View commit details
    Browse the repository at this point in the history
  5. First cut on VPX decoder. It can decode 1 frame.

    - Mouse click to encode the current frame.
    - Ctrl+Click to decode it back to YUV.
    
    YUV to RGB part isn't done yet.
    ankh-g committed Nov 30, 2018
    Configuration menu
    Copy the full SHA
    53d9e2e View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e7d45be View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2018

  1. One way video works. It's quite slow, though.

    Frames are either sent manually, at mouse click,
    or by a timer if you add ?fps=10, for example:
    
    ...?libvpx=1&fps=5&width=480&height=360
    
    Join the same room from two clients and use a
    mouse click to start sending video. An attempt to
    start video from the other side breaks the app:
    currently encoder and decoder can't co-exist.
    ankh-g committed Dec 1, 2018
    Configuration menu
    Copy the full SHA
    bac8b4c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3a8771d View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    166bed3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    315c5f3 View commit details
    Browse the repository at this point in the history
  5. 4 Configuration menu
    Copy the full SHA
    eed912c View commit details
    Browse the repository at this point in the history

Commits on Dec 3, 2018

  1. Remove unnecessary logs.

    ankh-g committed Dec 3, 2018
    Configuration menu
    Copy the full SHA
    d882f96 View commit details
    Browse the repository at this point in the history
  2. Add ?webrtc=1 option

    steveanton committed Dec 3, 2018
    Configuration menu
    Copy the full SHA
    c81770e View commit details
    Browse the repository at this point in the history
  3. resolve conflicts

    steveanton committed Dec 3, 2018
    Configuration menu
    Copy the full SHA
    f4d8e4f View commit details
    Browse the repository at this point in the history
  4. Two-way video is working.

    - In tab webrtc#1 join the room and then click to start sending video.
    - In tab webrtc#2 join the room and then click to start sending video.
    
    Video is received and decoded automatically, if the remote
    peer sends it. However the local video is sent only on demand.
    ankh-g committed Dec 3, 2018
    Configuration menu
    Copy the full SHA
    788951e View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    925a89b View commit details
    Browse the repository at this point in the history
  6. Automatically send video when ?fps=10.

    ?fps=0 allows to send frames on demand.
    ankh-g committed Dec 3, 2018
    Configuration menu
    Copy the full SHA
    a96d9b4 View commit details
    Browse the repository at this point in the history

Commits on Dec 4, 2018

  1. Configuration menu
    Copy the full SHA
    036c848 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    51ae3b2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d974687 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    cb37033 View commit details
    Browse the repository at this point in the history
  5. Added stats for IVF files.

    ankh-g committed Dec 4, 2018
    Configuration menu
    Copy the full SHA
    2e3a995 View commit details
    Browse the repository at this point in the history
  6. Updated libvpx wasm.

    ankh-g committed Dec 4, 2018
    Configuration menu
    Copy the full SHA
    6dd2ceb View commit details
    Browse the repository at this point in the history
  7. Added --enable-realtime-only

    ankh-g committed Dec 4, 2018
    Configuration menu
    Copy the full SHA
    5fb86fb View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    7d1e324 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4b3b385 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    2818889 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    eaf6e43 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    1756464 View commit details
    Browse the repository at this point in the history
  13. ?vsbr=200 can now set the desired video bitrate.

    1500 kbps is enough to send 720p video is good quality:
    ?width=1280&fps=30&height=720&vsbr=3000&libvpx=1
    
    The max bitrate is limited by the max message size that
    can be sent over RTCDataChannel: 64 KB. The frame
    size will be about bitrate / fps.
    
    Changing the bitrate doesn't seem to affect encoding or
    decoding speed.
    ankh-g committed Dec 4, 2018
    Configuration menu
    Copy the full SHA
    af52de4 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d865ac5 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    7794bae View commit details
    Browse the repository at this point in the history
  16. Not working version

    working capture
    
    working capture
    
    log to prove that it works
    
    convert floats to ints
    
    Experimenting
    
    Fix bugs :P
    
    Foo
    Piotr (Peter) Slatala authored and steveanton committed Dec 4, 2018
    Configuration menu
    Copy the full SHA
    51cca46 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    9f53405 View commit details
    Browse the repository at this point in the history
  18. Disable local streams from webrtc, wait for data channel to be connec…

    …ted to transition to active
    Piotr (Peter) Slatala committed Dec 4, 2018
    Configuration menu
    Copy the full SHA
    e248062 View commit details
    Browse the repository at this point in the history