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)
Playing videos through S3 buckets (Wasabi, AWS, etc.) through client-side VideoJS player

Playing videos through S3 buckets (Wasabi, AWS, etc.) through client-side VideoJS player without incurring ingress/egree traffic on EC2 Instance.

Syed Umar Arfeen 8 Mar 28, 2022
获取斗鱼&虎牙&哔哩哔哩&抖音&快手等 48 个直播平台的真实流媒体地址(直播源)和弹幕,直播源可在 PotPlayer、flv.js 等播放器中播放。

获取斗鱼&虎牙&哔哩哔哩&抖音&快手等 48 个直播平台的真实流媒体地址(直播源)和弹幕,直播源可在 PotPlayer、flv.js 等播放器中播放。

乌帮图 5.6k Jan 06, 2023
OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality video editing and animation solutions to the world.

OpenShot Video Editor is an award-winning free and open-source video editor for Linux, Mac, and Windows, and is dedicated to delivering high quality v

OpenShot Studios, LLC 3.1k Jan 01, 2023
Video-to-GIF-Converter - A small code snippet that can be used to convert any video to a gif

Video to GIF Converter Project Description: This is a small code snippet that ca

Hassan Shahzad 3 Jun 22, 2022
Converts Betaflight blackbox gyro to MP4 GoPro Meta data so it can be used with ReelSteady GO

Here are a bunch of scripts that I created some time ago as a proof of concept that Betaflight blackbox gyro data can be converted to GoPro Metadata F

108 Oct 05, 2022
Video Translation Into Text

2021/12/9 The project has been updated Added a home screen Just drag it onto the screen The final results \ 2021/12/9 项目已更新 添加了主界面 拖到即可 最后结果 \ Using t

10 Mar 12, 2022
Rune - a video miniplayer made with Python.

Rune - a video miniplayer made with Python.

1 Dec 13, 2021
A free project by a normal kamenrider fan

DEMONS DRIVER Python + OpenCV demons.py采集原视频中led灯珠颜色,并将结果输出到output文件夹 Arduino + WS2812B 基于FastLED 实现DEMONS驱动器的led面板效果 项目未完成,持续更新中 --------------------

2 Nov 14, 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
Your self hosted Youtube media server

The Tube Archivist Your self hosted Youtube media server Core functionality Subscribe to your favourite Youtube channels Download Videos using yt-dlp

Simon 2.1k Dec 31, 2022
A wrapper around ffmpeg to make it work in a concurrent and memory-buffered fashion.

Media Fixer Have you ever had a film or TV show that your TV wasn't able to play its audio? Well this program is for you. Media Fixer is a program whi

Halit Şimşek 3 May 04, 2022
A GUI application for cropping images from videos

v-trimming-gui A GUI application for cropping images from videos. 動画をシークバーで操作しながらスクリーンショットを撮るためのアプリ。 Requirement Python =3.7 opencv-python ^4.5.5 PyS

Menrui 6 Feb 05, 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
Terminal-Video-Player - A program that can display video in the terminal using ascii characters

Terminal-Video-Player - A program that can display video in the terminal using ascii characters

15 Nov 10, 2022
A tool to fuck a video/audio quality using FFmpeg

Media quality fucker A tool to fuck a video/audio quality using FFmpeg How to use Download the source Download Python Extract FFmpeg Put what you want

Maizena 8 Jan 25, 2022
Simple VLC-based media player that can play multiple videos at the same time

Screenshots About Simple VLC-based media player that can play multiple videos at the same time. You can play as many videos as you like, the only limi

161 Jan 05, 2023
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
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
Your own movie streaming service. Easy to install, easy to use. Download, manage and watch your favorite movies conveniently from your browser or phone. Install it on your server, access it anywhere and enjoy.

Vigilio Your own movie streaming service. Easy to install, easy to use. Download, manage and watch your favorite movies conveniently from your browser

Tugcan Olgun 141 Jan 06, 2023