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)
Streamlink is a CLI utility which pipes video streams from various services into a video player

Streamlink is a CLI utility which pipes video streams from various services into a video player

8.2k Dec 26, 2022
A Python media index

pyvideo https://pyvideo.org is simply an index of Python-related media records. The raw data being used here comes out of the pyvideo/data repo. Befor

pyvideo 235 Dec 24, 2022
Python Simple Mass Video Clipper (PSMVC)

Python Simple Mass Video Clipper (PSMVC) PSMVC é um gerador de cortes via terminal construído em python. Uso Basta abrir o arquivo start.py Dependenci

Bruno 2 Oct 16, 2021
Autocut the Twitch VODs based on Marker

Markut Given the VOD of the stream and the markers that are exported as a CSV file, generate a video using ffmpeg that cuts out part of the VOD accord

Tsoding 18 Dec 19, 2022
Скрипт который выводит видео в консоль. Ничего лишнего)

video-to-ascii Скрипт который выводит видео в консоль. Ничего лишнего) Требования Минимальное разрешение экрана: 1280x720 Видео в качестве 360p 10-45f

Daniil Pisarev 155 Nov 28, 2022
A self-hosted streaming platform with Discord authentication, auto-recording and more!

A self-hosted streaming platform with Discord authentication, auto-recording and more!

John Patrick Glattetre 331 Dec 27, 2022
Python package to display video in GUI using OpenCV-Python and PySide6

Python package to display video in GUI using OpenCV-Python and PySide6. Introduction cv2PySide6 is a package which provides utility classes and functi

3 Jun 06, 2022
Python retagging utility for mkv files using mkvmerge.

pyretag A python script to retag mkv files. Setting Up pip install pyfiglet pip install rich Move the mkv files to input folder.

25 Dec 04, 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
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
This is an example of building a video Question-Answer system using Jina.

example-video-search This is an example of building a video Question-Answer system using Jina. The index data is subtitle files of YouTube videos. Aft

Jina AI 9 Oct 18, 2022
Lightweight, zero-dependency proxy and storage RTSP server

python-rtsp-server Python-rtsp-server is a lightweight, zero-dependency proxy and storage server for several IP-cameras and multiple clients. Features

Vlad 39 Nov 23, 2022
Video processing routines for SciPy

scikit-video Video Processing SciKit BETA Video processing algorithms, including I/O, quality metrics, temporal filtering, motion/object detection, mo

Alex Izvorski 119 Dec 27, 2022
Real-time video and audio streams over the network, with Streamlit.

streamlit-webrtc Example You can try out the sample app using the following commands.

Yuichiro Tachibana (Tsuchiya) 648 Jan 01, 2023
A telegram bot for compressing/encoding videos in h264 format.

Video-Encoder-Bot a telegram bot for compressing/encoding videos in h264 format. Configuration Add values in environment variables or add them in conf

Weeb >.< 61 Dec 29, 2022
A Python library that simplifies working with video from soccer matches.

Match Video This is a Python library that simplifies working with video from soccer matches. It allows match video to be selected intuitively by perio

Grant Wenzinger 2 Jul 21, 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
A platform which give you info about the newest video on a channel

youtube A platform which give you info about the newest video on a channel. This uses web scraping, a better implementation will be to use the API. BR

Custom components for Home Assistant 36 Sep 29, 2022
Automatically logs into VTOP and can perform certain tasks

VTOP_Login Automatically logs into VTOP and can perform certain tasks To run the

Jatin 1 Jan 30, 2022
Wonkey - an open source programming language for the creation of cross-platform video games

Wonkey Programming Language Wonkey is an open source programming language for the creation of cross-platform video games, highly inspired by the “Blit

Wonkey Coders 110 Nov 09, 2022