Real-time video and audio streams over the network, with Streamlit.

Related tags

Videostreamlit-webrtc
Overview

streamlit-webrtc

Tests Frontend Tests

PyPI PyPI - Python Version PyPI - License PyPI - Downloads

GitHub Sponsors

Buy Me A Coffee

Example Open in Streamlit

You can try out the sample app using the following commands.

$ pip install streamlit-webrtc opencv-python
$ streamlit run https://raw.githubusercontent.com/whitphx/streamlit-webrtc-example/main/app.py

You can also try it out on Streamlit Sharing.

The deployment of this sample app is managed in this repository: https://github.com/whitphx/streamlit-webrtc-example/.

Tutorial

This post explains how to use streamlit-webrtc to build a real-time computer vision app.

Comments
  • Problem with RECVONLY reconnections

    Problem with RECVONLY reconnections

    Hi, when I stop and start video files/streams, using RECVONLY, it doesn't work. It starts the video correctly, but when I stop and start again, it shows only a gray screen.

    The log is:

    2021-05-17 12:27:14.093 ICE connection state is closed
    2021-05-17 12:27:15.780 Connection(42) Remote candidate "0163614b-42ff-4b75-925c-80a5e26dddb6.local" resolved to 192.168.1.13
    2021-05-17 12:27:15.986 Connection(42) Check CandidatePair(('192.168.1.13', 56258) -> ('192.168.1.13', 59948)) State.FROZEN -> State.WAITING
    2021-05-17 12:27:15.986 Connection(42) Check CandidatePair(('172.17.0.1', 60268) -> ('192.168.1.13', 59948)) State.FROZEN -> State.WAITING
    2021-05-17 12:27:15.987 ICE connection state is checking
    2021-05-17 12:27:15.987 Connection(42) Check CandidatePair(('192.168.1.13', 56258) -> ('192.168.1.13', 59948)) State.WAITING -> State.IN_PROGRESS
    2021-05-17 12:27:16.028 Connection(42) Check CandidatePair(('172.17.0.1', 60268) -> ('192.168.1.13', 59948)) State.WAITING -> State.IN_PROGRESS
    2021-05-17 12:27:16.031 Connection(42) Check CandidatePair(('192.168.1.13', 56258) -> ('192.168.1.13', 59948)) State.IN_PROGRESS -> State.SUCCEEDED
    2021-05-17 12:27:16.032 Connection(42) Check CandidatePair(('172.17.0.1', 60268) -> ('192.168.1.13', 59948)) State.IN_PROGRESS -> State.SUCCEEDED
    

    image

    How can I solve it?

    bug 
    opened by marcoslucianops 16
  • Audio recorder is slow when initialization

    Audio recorder is slow when initialization

    I run the example : WebRTC is sendonly and audio frames are visualized with matplotlib (sendonly) when I pressed the Start button , record device seems to initialize for a long time image after around 40 seconds, then show the graph image

    below is log message ~$ streamlit run https://raw.githubusercontent.com/whitphx/streamlit-webrtc-example/main/app.py

    You can now view your Streamlit app in your browser.

    Network URL: http://172.28.53.133:8501 External URL: http://114.32.244.17:8501

    [2021-07-01 15:39:10,548] WARNING from main in /tmp/tmpvsih9xwf/app.py:672: AudioReciver is not set. Abort. [2021-07-01 15:39:54,641] DEBUG from streamlit_webrtc in /home/gary/work/mypy3/lib/python3.8/site-packages/streamlit_webrtc/init.py:311: No worker exists though the offer SDP is set. Create a new worker (key="sendonly-audio"). [2021-07-01 15:39:54,657] DEBUG from streamlit_webrtc.webrtc in /home/gary/work/mypy3/lib/python3.8/site-packages/streamlit_webrtc/webrtc.py:381: _webrtc_thread_impl starts [2021-07-01 15:39:54,662] INFO from streamlit_webrtc.webrtc in /home/gary/work/mypy3/lib/python3.8/site-packages/streamlit_webrtc/webrtc.py:176: Track audio received [2021-07-01 15:39:54,662] INFO from streamlit_webrtc.webrtc in /home/gary/work/mypy3/lib/python3.8/site-packages/streamlit_webrtc/webrtc.py:180: Add a track <aiortc.rtcrtpreceiver.RemoteStreamTrack object at 0x7fcc958864f0> to receiver <streamlit_webrtc.receive.MediaReceiver object at 0x7fcc95866c70> [2021-07-01 15:39:54,662] INFO from streamlit_webrtc.webrtc in /home/gary/work/mypy3/lib/python3.8/site-packages/streamlit_webrtc/webrtc.py:176: Track video received [2021-07-01 15:39:54,662] INFO from streamlit_webrtc.webrtc in /home/gary/work/mypy3/lib/python3.8/site-packages/streamlit_webrtc/webrtc.py:186: Add a track <aiortc.rtcrtpreceiver.RemoteStreamTrack object at 0x7fcc95835f40> to receiver <streamlit_webrtc.receive.MediaReceiver object at 0x7fcc95866a90> [2021-07-01 15:39:54,675] INFO from aioice.ice in /home/gary/work/mypy3/lib/python3.8/site-packages/aioice/ice.py:1061: Connection(0) Check CandidatePair(('172.28.53.133', 52580) -> ('172.28.48.1', 59954)) State.FROZEN -> State.WAITING [2021-07-01 15:39:54,675] INFO from aioice.ice in /home/gary/work/mypy3/lib/python3.8/site-packages/aioice/ice.py:1061: Connection(0) Check CandidatePair(('172.28.53.133', 52580) -> ('10.0.0.3', 59955)) State.FROZEN -> State.WAITING [2021-07-01 15:39:54,718] INFO from streamlit_webrtc.webrtc in /home/gary/work/mypy3/lib/python3.8/site-packages/streamlit_webrtc/webrtc.py:91: ICE connection state is checking [2021-07-01 15:39:54,990] INFO from aioice.ice in /home/gary/work/mypy3/lib/python3.8/site-packages/aioice/ice.py:1061: Connection(0) Check CandidatePair(('172.28.53.133', 52580) -> ('172.28.48.1', 59954)) State.WAITING -> State.IN_PROGRESS [2021-07-01 15:39:54,992] INFO from aioice.ice in /home/gary/work/mypy3/lib/python3.8/site-packages/aioice/ice.py:1061: Connection(0) Check CandidatePair(('172.28.53.133', 52580) -> ('10.0.0.3', 59955)) State.WAITING -> State.IN_PROGRESS [2021-07-01 15:39:55,012] INFO from aioice.ice in /home/gary/work/mypy3/lib/python3.8/site-packages/aioice/ice.py:1061: Connection(0) Check CandidatePair(('172.28.53.133', 52580) -> ('192.168.137.1', 59956)) State.FROZEN -> State.IN_PROGRESS [2021-07-01 15:39:55,033] INFO from aioice.ice in /home/gary/work/mypy3/lib/python3.8/site-packages/aioice/ice.py:1061: Connection(0) Check CandidatePair(('172.28.53.133', 52580) -> ('114.32.244.17', 59955)) State.FROZEN -> State.IN_PROGRESS [2021-07-01 15:39:55,493] INFO from aioice.ice in /home/gary/work/mypy3/lib/python3.8/site-packages/aioice/ice.py:1061: Connection(0) Check CandidatePair(('172.28.53.133', 52580) -> ('172.28.48.1', 59954)) State.IN_PROGRESS -> State.SUCCEEDED [2021-07-01 15:39:55,493] INFO from aioice.ice in /home/gary/work/mypy3/lib/python3.8/site-packages/aioice/ice.py:1061: Connection(0) ICE completed [2021-07-01 15:39:55,501] INFO from streamlit_webrtc.webrtc in /home/gary/work/mypy3/lib/python3.8/site-packages/streamlit_webrtc/webrtc.py:91: ICE connection state is completed

    opened by garymmi 10
  • ReferenceError: weakly-referenced object no longer exists

    ReferenceError: weakly-referenced object no longer exists

    2022-08-31 21:30:45.453 Uncaught app exception
    Traceback (most recent call last):
      File "/path/to/streamlit-webrtc-article-tutorial-sample/.venv/lib/python3.9/site-packages/streamlit/runtime/scriptrunner/script_runner.py", line 556, in _run_script
        exec(code, module.__dict__)
      File "/path/to/streamlit-webrtc-article-tutorial-sample/app.py", line 21, in <module>
        webrtc_streamer(
      File "/path/to/streamlit-webrtc-article-tutorial-sample/.venv/lib/python3.9/site-packages/streamlit_webrtc/component.py", line 514, in webrtc_streamer
        session_info = get_this_session_info()
      File "/path/to/streamlit-webrtc-article-tutorial-sample/.venv/lib/python3.9/site-packages/streamlit_webrtc/session_info.py", line 43, in get_this_session_info
        current_server = get_current_server()
      File "/path/to/streamlit-webrtc-article-tutorial-sample/.venv/lib/python3.9/site-packages/streamlit_webrtc/server.py", line 52, in get_current_server
        servers = [obj for obj in gc.get_objects() if isinstance(obj, Server)]
      File "/path/to/streamlit-webrtc-article-tutorial-sample/.venv/lib/python3.9/site-packages/streamlit_webrtc/server.py", line 52, in <listcomp>
        servers = [obj for obj in gc.get_objects() if isinstance(obj, Server)]
    ReferenceError: weakly-referenced object no longer exists
    

    requirements.txt

    opencv-python-headless==4.5.4.60
    streamlit==1.11.1
    streamlit-webrtc==0.43.2
    
    import streamlit as st
    from streamlit_webrtc import webrtc_streamer
    import av
    import cv2
    
    st.title("My first Streamlit app")
    st.write("Hello, world")
    
    threshold1 = st.slider("Threshold1", min_value=0, max_value=1000, step=1, value=100)
    threshold2 = st.slider("Threshold2", min_value=0, max_value=1000, step=1, value=200)
    
    
    def callback(frame):
        img = frame.to_ndarray(format="bgr24")
    
        img = cv2.cvtColor(cv2.Canny(img, threshold1, threshold2), cv2.COLOR_GRAY2BGR)
    
        return av.VideoFrame.from_ndarray(img, format="bgr24")
    
    
    webrtc_streamer(
        key="example",
        video_frame_callback=callback,
        rtc_configuration={  # Add this line
            "iceServers": [{"urls": ["stun:stun.l.google.com:19302"]}]
        }
    )
    

    Python 3.9.13

    opened by whitphx 8
  • 'SessionInfo' object has no attribute 'report_run_count'

    'SessionInfo' object has no attribute 'report_run_count'

    Hello, I'm just doing a simple project on face detection and found your approach on live streaming the video from the users device (Amazing solution btw!) I followed your suggestion by using streamlit share server to avoid the complexities faced in going though colab->ngrok->TURN server. For now, my app just consists of opening the camera under the following script recommended in the documentation (of course followed by the installation of streamlit-webstr):

    from streamlit_webrtc import webrtc_streamer webrtc_streamer(key="sample")

    But it's giving the following error: """AttributeError: 'SessionInfo' object has no attribute 'report_run_count'"""

    opened by AntonioTannoury 7
  • Problem with SessionState

    Problem with SessionState

    When I use SessionState in my streamlit, I getting this error

    image

    It can be solved by updating streamlit-webrtc SessionState.py file to

    from streamlit.report_thread import get_report_ctx
    import streamlit as st
    
    
    class SessionState(object):
        def __init__(self, **kwargs):
            """A new SessionState object.
    
            Parameters
            ----------
            **kwargs : any
                Default values for the session state.
    
            Example
            -------
            >>> session_state = SessionState(user_name='', favorite_color='black')
            >>> session_state.user_name = 'Mary'
            ''
            >>> session_state.favorite_color
            'black'
    
            """
            for key, val in kwargs.items():
                setattr(self, key, val)
    
    
    @st.cache(allow_output_mutation=True)
    def get_session(id, **kwargs):
        return SessionState(**kwargs)
    
    
    def get(**kwargs):
        """Gets a SessionState object for the current session.
    
        Creates a new object if necessary.
    
        Parameters
        ----------
        **kwargs : any
            Default values you want to add to the session state, if we're creating a
            new one.
    
        Example
        -------
        >>> session_state = get(user_name='', favorite_color='black')
        >>> session_state.user_name
        ''
        >>> session_state.user_name = 'Mary'
        >>> session_state.favorite_color
        'black'
    
        Since you set user_name above, next time your script runs this will be the
        result:
        >>> session_state = get(user_name='', favorite_color='black')
        >>> session_state.user_name
        'Mary'
    
        """
        ctx = get_report_ctx()
        id = ctx.session_id
        return get_session(id, **kwargs)
    

    Credits: https://gist.github.com/tvst/036da038ab3e999a64497f42de966a92#gistcomment-3484515

    opened by marcoslucianops 7
  • AttributeError: 'str' object has no attribute 'get'

    AttributeError: 'str' object has no attribute 'get'

    When launching the DeepSpeech demo I get this error.

    image

    Here is the full error:

    File "/Users/alleon_g/.pyenv/versions/3.8.6/envs/lewagon/lib/python3.8/site-packages/streamlit/script_runner.py", line 349, in _run_script
        exec(code, module.__dict__)
    File "/Users/alleon_g/code/galleon/refactored-octo-tribble/app.py", line 303, in <module>
        main()
    File "/Users/alleon_g/code/galleon/refactored-octo-tribble/app.py", line 111, in main
        app_sst_with_video(
    File "/Users/alleon_g/code/galleon/refactored-octo-tribble/app.py", line 212, in app_sst_with_video
        webrtc_ctx = webrtc_streamer(
    File "/Users/alleon_g/.pyenv/versions/3.8.6/envs/lewagon/lib/python3.8/site-packages/streamlit_webrtc/__init__.py", line 289, in webrtc_streamer
        playing = component_value.get("playing", False)
    
    bug 
    opened by galleon 5
  • Sendrecv streamer serves only one request at a time on a remote server

    Sendrecv streamer serves only one request at a time on a remote server

    I have a streamer in sendrecv mode deployed on Google's App Engine. The issue I'm facing is that when a visitor starts the stream it kinda clogs the instance, and the consequence is that only one visitor at a time can use the streamer. What is the reason, and is there a work-around? Thank you.

    Implementation

    WEBRTC_CLIENT_SETTINGS = ClientSettings(
        rtc_configuration={"iceServers": [{"urls": ["stun:stun.l.google.com:19302"]}]},
        media_stream_constraints={"video": True, "audio": False},
    )
    
    def app_mask_detection():
    
        class OpenCVVideoTransformer(VideoTransformerBase):
            def __init__(self) -> None:
                self.assembly = ModelAssembly()    
    
            def transform(self, frame: av.VideoFrame) -> av.VideoFrame:
                img = frame.to_ndarray(format="bgr24")
               
                return self.assembly.forwardFrame(img)
    
        webrtc_ctx = webrtc_streamer(
            key="opencv-filter",
            mode=WebRtcMode.SENDRECV,
            client_settings=WEBRTC_CLIENT_SETTINGS,
            video_transformer_factory=OpenCVVideoTransformer,
            async_transform=True,
        )
    
    opened by martinezpl 5
  • hosted app fails with 'builtins.Certificate' object has no attribute '_x509'

    hosted app fails with 'builtins.Certificate' object has no attribute '_x509'

    Hi @whitphx I got an app using your streamlit component running, thank you for your work! It runs smoothly locally but hosted on streamlit deploy it fails with

    'builtins.Certificate' object has no attribute '_x509'
    

    It looks like something related to pyopenssl. Did you see this issue yourself aswell at some point?

    opened by gustavz 4
  • Experimenting streamlit-webrtc using Google Colab and Ngrok

    Experimenting streamlit-webrtc using Google Colab and Ngrok

    Hi, anyone have been experimenting streamlit-webrtc component with Google Colabs and Ngrok, i need this setup because google colab have free gpu to serve my model.

    I have an ICE connection state is failed after running app.py example,

    https://gist.github.com/trisgelar/86968b75a3ff84f1425c1ccee6ad0415

    Thanks.

    You can now view your Streamlit app in your browser.

    Network URL: http://172.28.0.2:8501 External URL: http://34.125.122.87:8501

    2021-07-19 15:16:47.944 Restore the component value (key=object-detection) 2021-07-19 15:17:45.056 No worker exists though the offer SDP is set. Create a new worker (key="object-detection"). 2021-07-19 15:17:45.073 _webrtc_thread_impl starts 2021-07-19 15:17:46.110 Connection(0) Remote candidate "47ce6f98-7967-4bee-af8b-3fba9e547390.local" could not be resolved 2021-07-19 15:17:46.110 Track audio received 2021-07-19 15:17:46.110 Add a track <aiortc.rtcrtpreceiver.RemoteStreamTrack object at 0x7fd7b9e60b10> of kind audio to <aiortc.rtcpeerconnection.RTCPeerConnection object at 0x7fd7d5325cd0> 2021-07-19 15:17:46.111 Track video received 2021-07-19 15:17:46.111 Set <aiortc.rtcrtpreceiver.RemoteStreamTrack object at 0x7fd7b8d32fd0> as an input video track with video_processor <class 'streamlit_webrtc.process.AsyncVideoProcessTrack'> 2021-07-19 15:17:46.111 Add a track <streamlit_webrtc.process.AsyncVideoProcessTrack object at 0x7fd7b8d37b90> of kind video to <aiortc.rtcpeerconnection.RTCPeerConnection object at 0x7fd7d5325cd0> 2021-07-19 15:17:46.149 Connection(0) Check CandidatePair(('172.28.0.2', 49728) -> ('120.89.90.198', 33875)) State.FROZEN -> State.WAITING 2021-07-19 15:17:46.197 ICE connection state is checking 2021-07-19 15:17:46.344 Connection(0) Check CandidatePair(('172.28.0.2', 49728) -> ('120.89.90.198', 33875)) State.WAITING -> State.IN_PROGRESS 2021-07-19 15:18:13.134 Unset the worker because the frontend state is neither playing nor signalling (key="object-detection"). 2021-07-19 15:18:17.852 No worker exists though the offer SDP is set. Create a new worker (key="object-detection"). 2021-07-19 15:18:17.853 _webrtc_thread_impl starts 2021-07-19 15:18:17.888 Track audio received 2021-07-19 15:18:17.888 Add a track <aiortc.rtcrtpreceiver.RemoteStreamTrack object at 0x7fd7d531a510> of kind audio to <aiortc.rtcpeerconnection.RTCPeerConnection object at 0x7fd7d8149a10> 2021-07-19 15:18:17.888 Track video received 2021-07-19 15:18:17.888 Set <aiortc.rtcrtpreceiver.RemoteStreamTrack object at 0x7fd7b8c0e410> as an input video track with video_processor <class 'streamlit_webrtc.process.AsyncVideoProcessTrack'> 2021-07-19 15:18:17.889 Add a track <streamlit_webrtc.process.AsyncVideoProcessTrack object at 0x7fd7b8c03090> of kind video to <aiortc.rtcpeerconnection.RTCPeerConnection object at 0x7fd7d8149a10> 2021-07-19 15:18:17.972 Connection(2) Check CandidatePair(('172.28.0.2', 53740) -> ('192.168.0.106', 39647)) State.FROZEN -> State.WAITING 2021-07-19 15:18:17.973 Connection(2) Check CandidatePair(('172.28.0.2', 53740) -> ('120.89.90.198', 39647)) State.FROZEN -> State.WAITING 2021-07-19 15:18:18.112 ICE connection state is checking 2021-07-19 15:18:18.112 Connection(2) Check CandidatePair(('172.28.0.2', 53740) -> ('192.168.0.106', 39647)) State.WAITING -> State.IN_PROGRESS 2021-07-19 15:18:18.189 Connection(2) Check CandidatePair(('172.28.0.2', 53740) -> ('120.89.90.198', 39647)) State.WAITING -> State.IN_PROGRESS 2021-07-19 15:18:49.853 Connection(0) Check CandidatePair(('172.28.0.2', 49728) -> ('120.89.90.198', 33875)) State.IN_PROGRESS -> State.FAILED 2021-07-19 15:18:49.853 Connection(0) ICE failed 2021-07-19 15:18:49.860 ICE connection state is failed 2021-07-19 15:18:49.860 ICE connection state is closed 2021-07-19 15:19:21.619 Connection(2) Check CandidatePair(('172.28.0.2', 53740) -> ('192.168.0.106', 39647)) State.IN_PROGRESS -> State.FAILED 2021-07-19 15:19:21.705 Connection(2) Check CandidatePair(('172.28.0.2', 53740) -> ('120.89.90.198', 39647)) State.IN_PROGRESS -> State.FAILED 2021-07-19 15:19:21.706 Connection(2) ICE failed 2021-07-19 15:19:21.720 ICE connection state is failed 2021-07-19 15:19:21.721 ICE connection state is closed

    opened by trisgelar 4
  • Adjusting Size of Webcam Video

    Adjusting Size of Webcam Video

    Hi @whitphx , first and foremost, thanks for this amazing component of Streamlit and your contributions. I would like to ask if there is a way to adjust the webcam video sizes after clicking "start"? As I switched into a large monitor and the video size seems to have quadrupled. I appreciate your feedback on this. Thanks

    Regards and thanks.

    enhancement 
    opened by jasonchanhku 4
  • ImportError: cannot import name 'SessionInfo' from 'streamlit.web.server.server'

    ImportError: cannot import name 'SessionInfo' from 'streamlit.web.server.server'

    I am using ngrok to connect to virtual server environment and run into this error

    This import error occurs since the last update. And I am able to solve it by downgrading streamlit to 1.11.0

    Complete log:

    File "/usr/local/lib/python3.7/dist-packages/streamlit/runtime/scriptrunner/script_runner.py", line 556, in _run_script exec(code, module.dict) File "/content/streamlit_app.py", line 2, in from streamlit_webrtc import webrtc_streamer File "/usr/local/lib/python3.7/dist-packages/streamlit_webrtc/init.py", line 10, in from .component import ( File "/usr/local/lib/python3.7/dist-packages/streamlit_webrtc/component.py", line 47, in from .session_info import get_script_run_count, get_this_session_info File "/usr/local/lib/python3.7/dist-packages/streamlit_webrtc/session_info.py", line 4, in from streamlit.web.server.server import SessionInfo

    opened by AmmarAhmedAlvi 3
  • Bump @types/jest from 28.1.8 to 29.2.5 in /streamlit_webrtc/frontend

    Bump @types/jest from 28.1.8 to 29.2.5 in /streamlit_webrtc/frontend

    Bumps @types/jest from 28.1.8 to 29.2.5.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • streamlit-webrtc does not work on chrome (tested on Android and macOS)

    streamlit-webrtc does not work on chrome (tested on Android and macOS)

    streamlit-webrtc seems to not work on chrome browser, I tested in on both Android and macOS with multiple apps. On both devices it works with Firefox though. Any idea why?

    opened by gustavz 0
  • Bump @storybook/node-logger from 6.5.12 to 6.5.15 in /streamlit_webrtc/frontend

    Bump @storybook/node-logger from 6.5.12 to 6.5.15 in /streamlit_webrtc/frontend

    Bumps @storybook/node-logger from 6.5.12 to 6.5.15.

    Release notes

    Sourced from @​storybook/node-logger's releases.

    v6.5.15

    Bug Fixes

    • Support Angular 15.0.4 #20287
    • CLI: execute automigrations when pressing enter in the prompts #20208

    Maintenance

    • Ember: Remove global Ember usage #17843

    v6.5.15-alpha.1

    Bug Fixes

    • Support Angular 15.0.4 #20287
    • CLI: execute automigrations when pressing enter in the prompts #20208

    v6.5.15-alpha.0

    Maintenance

    • Ember: Remove global Ember usage #17843

    v6.5.14

    Bug Fixes

    • Angular: Fix "webpack_require.nmd is not a function issue" in Angular 15 #20043
    • CLI/React native: Fix addons template to import register instead of manager #19620

    Maintenance

    • Core: Patch preview-web and refs to support React Native #19975

    Dependency Upgrades

    • Upgrade loader-utils to 2.0.4 in storysource and source-loader #19891

    v6.5.14-alpha.2

    Bug Fixes

    • Angular: Fix "webpack_require.nmd is not a function issue" in Angular 15 #20043

    v6.5.14-alpha.1

    Maintenance

    • Core: Patch preview-web and refs to support React Native #19975

    v6.5.14-alpha.0

    Bug Fixes

    • CLI/React native: Fix addons template to import register instead of manager #19620

    ... (truncated)

    Changelog

    Sourced from @​storybook/node-logger's changelog.

    6.5.15 (December 20, 2022)

    Bug Fixes

    • Support Angular 15.0.4 #20287
    • CLI: execute automigrations when pressing enter in the prompts #20208

    Maintenance

    • Ember: Remove global Ember usage #17843

    6.5.15-alpha.1 (December 20, 2022)

    Bug Fixes

    • Support Angular 15.0.4 #20287
    • CLI: execute automigrations when pressing enter in the prompts #20208

    6.5.15-alpha.0 (December 12, 2022)

    Maintenance

    • Ember: Remove global Ember usage #17843

    6.5.14 (December 2, 2022)

    Bug Fixes

    • Angular: Fix "webpack_require.nmd is not a function issue" in Angular 15 #20043
    • CLI/React native: Fix addons template to import register instead of manager #19620

    Maintenance

    • Core: Patch preview-web and refs to support React Native #19975

    Dependency Upgrades

    • Upgrade loader-utils to 2.0.4 in storysource and source-loader #19891

    6.5.14-alpha.2 (December 2, 2022)

    Bug Fixes

    • Angular: Fix "webpack_require.nmd is not a function issue" in Angular 15 #20043

    6.5.14-alpha.1 (November 27, 2022)

    Maintenance

    • Core: Patch preview-web and refs to support React Native #19975

    ... (truncated)

    Commits
    • feab19d v6.5.15
    • 075a8dd Update git head to 6.5.15-alpha.1, update yarn.lock [ci skip]
    • cfd775b v6.5.15-alpha.1
    • 9c19ef0 Update git head to 6.5.15-alpha.0, update yarn.lock [ci skip]
    • 095d6ad v6.5.15-alpha.0
    • ae06ca9 Update git head to 6.5.14, update yarn.lock [ci skip]
    • cf65eb7 v6.5.14
    • 6e1e6dd Update git head to 6.5.14-alpha.2, update yarn.lock [ci skip]
    • 71f07c4 v6.5.14-alpha.2
    • 885e7ac Update git head to 6.5.14-alpha.1, update yarn.lock [ci skip]
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump @storybook/addon-actions from 6.5.12 to 6.5.15 in /streamlit_webrtc/frontend

    Bump @storybook/addon-actions from 6.5.12 to 6.5.15 in /streamlit_webrtc/frontend

    Bumps @storybook/addon-actions from 6.5.12 to 6.5.15.

    Release notes

    Sourced from @​storybook/addon-actions's releases.

    v6.5.15

    Bug Fixes

    • Support Angular 15.0.4 #20287
    • CLI: execute automigrations when pressing enter in the prompts #20208

    Maintenance

    • Ember: Remove global Ember usage #17843

    v6.5.15-alpha.1

    Bug Fixes

    • Support Angular 15.0.4 #20287
    • CLI: execute automigrations when pressing enter in the prompts #20208

    v6.5.15-alpha.0

    Maintenance

    • Ember: Remove global Ember usage #17843

    v6.5.14

    Bug Fixes

    • Angular: Fix "webpack_require.nmd is not a function issue" in Angular 15 #20043
    • CLI/React native: Fix addons template to import register instead of manager #19620

    Maintenance

    • Core: Patch preview-web and refs to support React Native #19975

    Dependency Upgrades

    • Upgrade loader-utils to 2.0.4 in storysource and source-loader #19891

    v6.5.14-alpha.2

    Bug Fixes

    • Angular: Fix "webpack_require.nmd is not a function issue" in Angular 15 #20043

    v6.5.14-alpha.1

    Maintenance

    • Core: Patch preview-web and refs to support React Native #19975

    v6.5.14-alpha.0

    Bug Fixes

    • CLI/React native: Fix addons template to import register instead of manager #19620

    ... (truncated)

    Changelog

    Sourced from @​storybook/addon-actions's changelog.

    6.5.15 (December 20, 2022)

    Bug Fixes

    • Support Angular 15.0.4 #20287
    • CLI: execute automigrations when pressing enter in the prompts #20208

    Maintenance

    • Ember: Remove global Ember usage #17843

    6.5.15-alpha.1 (December 20, 2022)

    Bug Fixes

    • Support Angular 15.0.4 #20287
    • CLI: execute automigrations when pressing enter in the prompts #20208

    6.5.15-alpha.0 (December 12, 2022)

    Maintenance

    • Ember: Remove global Ember usage #17843

    6.5.14 (December 2, 2022)

    Bug Fixes

    • Angular: Fix "webpack_require.nmd is not a function issue" in Angular 15 #20043
    • CLI/React native: Fix addons template to import register instead of manager #19620

    Maintenance

    • Core: Patch preview-web and refs to support React Native #19975

    Dependency Upgrades

    • Upgrade loader-utils to 2.0.4 in storysource and source-loader #19891

    6.5.14-alpha.2 (December 2, 2022)

    Bug Fixes

    • Angular: Fix "webpack_require.nmd is not a function issue" in Angular 15 #20043

    6.5.14-alpha.1 (November 27, 2022)

    Maintenance

    • Core: Patch preview-web and refs to support React Native #19975

    ... (truncated)

    Commits
    • feab19d v6.5.15
    • 075a8dd Update git head to 6.5.15-alpha.1, update yarn.lock [ci skip]
    • cfd775b v6.5.15-alpha.1
    • 9c19ef0 Update git head to 6.5.15-alpha.0, update yarn.lock [ci skip]
    • 095d6ad v6.5.15-alpha.0
    • ae06ca9 Update git head to 6.5.14, update yarn.lock [ci skip]
    • cf65eb7 v6.5.14
    • 6e1e6dd Update git head to 6.5.14-alpha.2, update yarn.lock [ci skip]
    • 71f07c4 v6.5.14-alpha.2
    • 885e7ac Update git head to 6.5.14-alpha.1, update yarn.lock [ci skip]
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Bump minimatch and react-scripts in /streamlit_webrtc/frontend

    Bump minimatch and react-scripts in /streamlit_webrtc/frontend

    Bumps minimatch to 3.1.2 and updates ancestor dependency react-scripts. These dependencies need to be updated together.

    Updates minimatch from 3.0.4 to 3.1.2

    Commits

    Updates react-scripts from 4.0.3 to 5.0.1

    Commits

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the Security Alerts page.
    dependencies javascript 
    opened by dependabot[bot] 0
  • How can i use docker for deploy?

    How can i use docker for deploy?

    when I start docker I cannot open the camera and then I open the camera, error show below

    `/usr/local/lib/python3.9/site-packages/aiortc/rtcdtlstransport.py:211: CryptographyDeprecationWarning: This version of cryptography contains a temporary pyOpenSSL fallback path. Upgrade pyOpenSSL now. _openssl_assert(lib.SSL_CTX_use_certificate(ctx, self._cert._x509) == 1) # type: ignore 2022-11-11 10:59:02.255 Track video received 2022-11-11 10:59:02.255 Set <aiortc.rtcrtpreceiver.RemoteStreamTrack object at 0x7f7cb2a4dd00> as an input video track with video_processor <class 'streamlit_webrtc.process.AsyncVideoProcessTrack'> 2022-11-11 10:59:02.255 Add a track <streamlit_webrtc.process.AsyncVideoProcessTrack object at 0x7f7cb2a51730> of kind video to <aiortc.rtcpeerconnection.RTCPeerConnection object at 0x7f7cb3af6cd0> /usr/local/lib/python3.9/site-packages/aiortc/rtcdtlstransport.py:186: CryptographyDeprecationWarning: This version of cryptography contains a temporary pyOpenSSL fallback path. Upgrade pyOpenSSL now. value=certificate_digest(self._cert._x509), # type: ignore 2022-11-11 10:59:02.292 Connection(0) Check CandidatePair(('172.24.0.3', 37908) -> ('192.168.0.117', 65137)) State.FROZEN -> State.WAITING 2022-11-11 10:59:02.293 ICE connection state is checking 2022-11-11 10:59:02.293 Connection(0) Check CandidatePair(('172.24.0.3', 37908) -> ('192.168.0.117', 65137)) State.WAITING -> State.IN_PROGRESS 2022-11-11 10:59:17.594 ICE connection state is closed 2022-11-11 10:59:17.899 Exception in callback Transaction.__retry() handle: <TimerHandle when=16114.24134038 Transaction.__retry()> Traceback (most recent call last): File "/usr/local/lib/python3.9/asyncio/selector_events.py", line 1054, in sendto self._sock.sendto(data, addr) AttributeError: 'NoneType' object has no attribute 'sendto'

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): File "/usr/local/lib/python3.9/asyncio/events.py", line 80, in _run self._context.run(self._callback, *self._args) File "/usr/local/lib/python3.9/site-packages/aioice/stun.py", line 309, in __retry self.__protocol.send_stun(self.__request, self.__addr) File "/usr/local/lib/python3.9/site-packages/aioice/ice.py", line 243, in send_stun self.transport.sendto(bytes(message), addr) File "/usr/local/lib/python3.9/asyncio/selector_events.py", line 1064, in sendto self._fatal_error( File "/usr/local/lib/python3.9/asyncio/selector_events.py", line 711, in _fatal_error self._loop.call_exception_handler({ AttributeError: 'NoneType' object has no attribute 'call_exception_handler'`

    opened by nrtpkim 3
Releases(v0.44.2)
Owner
Yuichiro Tachibana (Tsuchiya)
Yuichiro Tachibana (Tsuchiya)
Convert lecture videos to slides in one line. Takes an input of a directory containing your lecture videos and outputs a directory containing .PDF files containing the slides of each lecture.

Convert lecture videos to slides in one line. Takes an input of a directory containing your lecture videos and outputs a directory containing .PDF files containing the slides of each lecture.

Sidharth Anand 12 Sep 10, 2022
Media player custom component which works with MQTT.

Media player custom component which works with MQTT. I designed this to specifically work with a ESP32 which i used to control a speakercraft amp.

2 Feb 10, 2022
Stream-Cli application that allow you to play your favorite movies from the terminal

Stream-Cli application that allow you to play your favorite movies from the terminal

redouane 380 Jan 08, 2023
This is a tool for making a every day video if you take a picture of you everyday

Face-Everyday-Maker-Studio Description This project is a tool for making a everyday video, which is timelapse video or slides video, of images but for

John A Betancourt G 9 Sep 06, 2022
A web RTSP play platform based on websocket and tornado, websocket use blob binaryType read as ArrayBuffer

A web RTSP play platform based on websocket and tornado, websocket use blob binaryType read as ArrayBuffer

2 Feb 25, 2022
A python program which converts images and video into excel spreadsheets.

image2excel A program which converts images and video into Excel spreadsheets. Usage examples can be found in examples Videos can take a long time to

Oscar Peace 2 Aug 09, 2021
A way to run youtube videos in TTY

TTY youtube client its finally here, the one thing literally NO ONE ASKED FOR!! A way to run youtube videos in TTY Dependencies: (pip) yt-search (syst

1 Nov 28, 2021
Use ZWO astronomy camera as an IP camera.

ZWO Astronomy Camera as IP Camera Astronomy cameras are known for their high sensitivity and flexibility on whether to have IR pass through and bayer

Yan Wang 9 Oct 15, 2022
camKapture is an open source application that allows users to access their webcam device and take pictures or create videos.

camKapture is an open source application that allows users to access their webcam device and take pictures or create videos.

manoj 1 Jun 21, 2022
Image and video quality assessment

CenseoQoE: 视觉感知画质评价框架 项目介绍 图像/视频在编解码、传输和显示等过程中难免引入不同类型/程度的失真导致图像质量下降。图像/视频质量评价(IVQA)的研究目标是希望模仿人类视觉感知系统, 通过算法评估图片/视频在终端用户的眼中画质主观体验的好坏,目前在视频编解码、画质增强、画质监。

Tencent 133 Dec 20, 2022
720p FPGA Media Player (RISC-V + Motion JPEG + SD + HDMI on an Artix 7)

FPGA Media Player This project is a FPGA based media player which is capable of playing Motion JPEG encoded video over HDMI or VGA on commonly availab

179 Dec 02, 2022
Tiny python video cutter

tiny_python_video_cutter Source code based on a discussion in StackOverflow Setup project in Pycharm: Configure virtual env in Pycharm. You are done w

Truong 2 May 28, 2022
Search a video semantically with AI.

Which Frame? Search a video semantically with AI. For example, try a natural language search query like "a person with sunglasses". You can also searc

David Chuan-En Lin 1 Nov 06, 2021
Cross-platform command-line AV1 / VP9 / HEVC / H264 encoding framework with per scene quality encoding

Av1an A cross-platform framework to streamline encoding Easy, Fast, Efficient and Feature Rich An easy way to start using AV1 / HEVC / H264 / VP9 / VP

Zen 947 Jan 01, 2023
Telegram Music/ Video Streaming Bot Using Pytgcalls

Video Player 🔥 ᴢᴀɪᴅ ᴠᴄ ᴘʟᴀyᴇʀ ɪꜱ ᴀ ᴛᴇʟᴇɢʀᴀᴍ ᴘʀᴏᴊᴇᴄᴛ ʙᴀꜱᴇᴅ ᴏɴ ᴘʏʀᴏɢʀᴀᴍ ꜰᴏʀ ᴘʟᴀʏ ᴍᴜꜱɪᴄꜱ ɪɴ ᴠᴄ ᴄʜᴀᴛꜱ... 🅡🅔🅟🅞 🅢🅣🅐🅣🅢 ʀᴇQᴜɪʀᴇᴍᴇɴᴛꜱ 📝 FFmpeg NodeJ

16 Nov 30, 2022
Python program - to extract slides from videos

Programa em Python - que fiz em algumas horas e que provavelmente tem bugs - para extrair slides de vídeos.

Natanael Antonioli 45 Nov 12, 2022
Streams video from raspberry pi to desktop T1 - Recognizes Faces on client T2

VideoStreamingServer Completed: Streams video from raspberry pi to desktop T1 - Recognizes Faces on client T2 In progress: Change the transmission Pro

1 Dec 06, 2021
Stream anime from kaa.si with python

kaa.si-cli Stream anime using MPV player from kaa.si with python

Muhammad Rovino Sanjaya 52 Dec 24, 2022
VIT - VideoInTerminal. A quick piece of code to play videos in your terminal using python

VIT VIT - VideoInTerminal. A quick piece of code to play videos in your terminal using python.

ShellTear 3 Mar 03, 2022
Video Chat Streamer With Python

Voice Chat Streamer This bot can stream audio or video files and urls in telegram voice chats :) 🎯 Follow me and star this repo for more telegram bot

WiskeyWorm 4 Oct 09, 2022