PyShine
PyShine
  • 204
  • 654 423
fast video streaming with raspberry pi #robotics #raspberry_pi #excavator
This video is about FPV based system via low cost raspberry pi zero w and its adhoc wifi setup. We have used an external antenna to boost the coverage of wifi signals and drive a toy excavator using live video stream of 1280x720 resolution at 25 FPS. You can do more relevant projects based on this low cost setup. The source code is available on pyshine.com
Guide: pyshine.com/How-to-configure-Raspberry-Pi-in-Ad-hoc-wifi-mode/
In case you get xcb missing in ubuntu error : sudo apt install xcb
Переглядів: 315

Відео

How to build a Copter Game #viral #pygame #python
Переглядів 1987 місяців тому
In this tutorial, we will guide you through the creation of a classic Copter Game using Python and Pygame. The objective of the game is to navigate a helicopter through a series of obstacles without crashing. You'll control the helicopter using the up arrow key or mouse clicks to make it ascend, while gravity will pull it down when you release the key or mouse button. As you progress, you'll ea...
How to deploy Python application: PyQt5 tutorial - Part 20
Переглядів 9 тис.2 роки тому
How to deploy Python application: PyQt5 tutorial - Part 20
Make GUI for image to text classification: PyQt5 tutorial - Part 19
Переглядів 9612 роки тому
Make GUI for image to text classification: PyQt5 tutorial - Part 19
Make GUI for image to text conversion: PyQt5 tutorial - Part 18
Переглядів 1,8 тис.2 роки тому
Make GUI for image to text conversion: PyQt5 tutorial - Part 18
Make GUI with two videos: PyQt5 tutorial - Part 17
Переглядів 3,2 тис.2 роки тому
Make GUI with two videos: PyQt5 tutorial - Part 17
How to install gym in Colab for LunarLander environment
Переглядів 2,8 тис.2 роки тому
How to install gym in Colab for LunarLander environment
Simple server-client application in python | Webcam autofocus | Demo
Переглядів 9632 роки тому
Simple server-client application in python | Webcam autofocus | Demo
Video streaming and car control with Python
Переглядів 2 тис.2 роки тому
Video streaming and car control with Python
Send and Record Videos from Clients to Server
Переглядів 1,4 тис.2 роки тому
Send and Record Videos from Clients to Server
Reading fixing and writing CSV in Python
Переглядів 3252 роки тому
Reading fixing and writing CSV in Python
PytQt5 Video and Audio GUI - Part16
Переглядів 1,4 тис.3 роки тому
PytQt5 Video and Audio GUI - Part16
Test your audible frequency range in Python | FFT plot in Python
Переглядів 7403 роки тому
Test your audible frequency range in Python | FFT plot in Python
Stream picamera video in Ad hoc | Raspberry Pi learning series - Part 03
Переглядів 2 тис.3 роки тому
Stream picamera video in Ad hoc | Raspberry Pi learning series - Part 03
How to configure Raspberry Pi in Ad hoc wifi mode | Raspberry Pi learning series - Part 02
Переглядів 8 тис.3 роки тому
How to configure Raspberry Pi in Ad hoc wifi mode | Raspberry Pi learning series - Part 02
How to easily stream webcam video to an HTML page | Raspberry Pi learning series - Part 01
Переглядів 8 тис.3 роки тому
How to easily stream webcam video to an HTML page | Raspberry Pi learning series - Part 01
Low latency FPV demo with Raspberry Pi | RPi series
Переглядів 8 тис.3 роки тому
Low latency FPV demo with Raspberry Pi | RPi series
How to send audio and video using socket programming in Python: Socket Programming tutorial
Переглядів 23 тис.3 роки тому
How to send audio and video using socket programming in Python: Socket Programming tutorial
How to send video using UDP socket in Python: Socket Programming tutorial
Переглядів 26 тис.3 роки тому
How to send video using UDP socket in Python: Socket Programming tutorial
Matplotlib based GUI to plot time series data: PyQt5 tutorial - Part 15
Переглядів 2,9 тис.3 роки тому
Matplotlib based GUI to plot time series data: PyQt5 tutorial - Part 15
Rock Paper Scissors | PyQt5 tutorial - Part 14
Переглядів 1,4 тис.4 роки тому
Rock Paper Scissors | PyQt5 tutorial - Part 14
Lipstick color picker GUI using OpenCV: PyQt5 tutorial - Part 13
Переглядів 3 тис.4 роки тому
Lipstick color picker GUI using OpenCV: PyQt5 tutorial - Part 13
How to visualize recent Earthquakes in Python | Folium | Part 2/2
Переглядів 4384 роки тому
How to visualize recent Earthquakes in Python | Folium | Part 2/2
How to visualize recent Earthquakes in Python | Folium | Part 1/2
Переглядів 6664 роки тому
How to visualize recent Earthquakes in Python | Folium | Part 1/2
How to send and receive live audio using socket programming in Python
Переглядів 16 тис.4 роки тому
How to send and receive live audio using socket programming in Python
Live audio from Microphone in five lines of Python
Переглядів 11 тис.4 роки тому
Live audio from Microphone in five lines of Python
How to deploy Python video processing web application using Flask
Переглядів 15 тис.4 роки тому
How to deploy Python video processing web application using Flask
Working with Qthreads: PyQt5 tutorial - Part 12
Переглядів 45 тис.4 роки тому
Working with Qthreads: PyQt5 tutorial - Part 12
PytQt5 Live Audio GUI with start and stop buttons | QThreadPool: PyQt5 tutorial - Part 11
Переглядів 6 тис.4 роки тому
PytQt5 Live Audio GUI with start and stop buttons | QThreadPool: PyQt5 tutorial - Part 11
How to make a GUI using PyQt5 and Matplotlib to plot real-time data: PyQt5 tutorial - Part 10
Переглядів 54 тис.4 роки тому
How to make a GUI using PyQt5 and Matplotlib to plot real-time data: PyQt5 tutorial - Part 10

КОМЕНТАРІ

  • @mhfshorts1771
    @mhfshorts1771 2 дні тому

    Much needed short that was ❤

  • @asadhasankhan
    @asadhasankhan 6 днів тому

    What's the background track called

  • @sergeytomilin5134
    @sergeytomilin5134 19 днів тому

    Thanks for the video. In the previous lesson, we worked with queue.Queue and QThreadPool. Why didn't we use them here?

  • @dongyuenwu6248
    @dongyuenwu6248 23 дні тому

    are you sure that you are using MVC framework? because your code is too long to read...

  • @SolitárioDedé
    @SolitárioDedé 29 днів тому

    Would it be possible to make a system like this with real-time screen capture? As if it were Windows Onarrado but instead of voice it puts it in txt?

  • @nerdylittlesideprojects9141
    @nerdylittlesideprojects9141 2 місяці тому

    If you would be recording clock with milliseconds for the latency demo, it would allow to read from screen how many milliseconds the actual latency was.

  • @ganboonmeng5370
    @ganboonmeng5370 2 місяці тому

    Imagine a thousand pcs..coming up the hill...straight for you...😊

  • @yzhang9265
    @yzhang9265 2 місяці тому

    Looks like a happy puppy : )

  • @piggyfroggy809
    @piggyfroggy809 2 місяці тому

    tanks you

  • @pyshine_official
    @pyshine_official 2 місяці тому

    This video is about FPV based system via low cost raspberry pi zero w and its adhoc wifi setup. We have used an external antenna to boost the coverage of wifi signals and drive a toy excavator using live video stream of 1280x720 resolution at 25 FPS. You can do more relevant projects based on this low cost setup. The source code is available on pyshine.com

  • @lalithperera8835
    @lalithperera8835 3 місяці тому

    Excellent!. This the best tutorial and example I found, after searching for a good example a whole afternoon.. Covers all needed yet simple and up to the point. Highly recommended to any beginner want to learn about threading in PyQt5. Thank you.

  • @mscoder7086
    @mscoder7086 3 місяці тому

    Hey can you share your code please

    • @pyshine_official
      @pyshine_official 2 місяці тому

      pyshine.com/How-to-make-a-real-time-voice-plot-in-PyQt5/

  • @AlbertLau-jp6xq
    @AlbertLau-jp6xq 3 місяці тому

    I am currently working on a drone live video streaming project. However, I have been spending ten weeks on trying to figure out on how to complete the drone live streaming and I was still struggling on getting a basic result. This video is such a life saver for my project. Thank you.

  • @wakabbo
    @wakabbo 3 місяці тому

    do i need port forwarding? please answer

  • @DanielRobinson-r2y
    @DanielRobinson-r2y 4 місяці тому

    Desmond Parkway

  • @MaryVega-j9v
    @MaryVega-j9v 4 місяці тому

    Tromp Rapids

  • @larmaths9790
    @larmaths9790 4 місяці тому

    Thank you for the vidéo,version helpful

  • @SheilaDaggett-h5k
    @SheilaDaggett-h5k 4 місяці тому

    Emard Meadow

  • @sksahil4374
    @sksahil4374 4 місяці тому

    Nice work bro

  • @EllenTirado-h3d
    @EllenTirado-h3d 5 місяців тому

    Rossie Isle

  • @jeeken397
    @jeeken397 5 місяців тому

    Does this work with the latest version of Google Colab?

    • @pyshine_official
      @pyshine_official 5 місяців тому

      Nope, for the latest use these instead and lets see if it works: !pip install gym !pip install swig !pip install box2d-py !pip install gym[Box_2D]

    • @jeeken397
      @jeeken397 5 місяців тому

      @@pyshine_official Ok I'll try it

  • @aamnafayyaz6557
    @aamnafayyaz6557 6 місяців тому

    In this video you are selecting the target in the start, what if i want to select the target from a moving drone once i reach the target?

    • @pyshine_official
      @pyshine_official 5 місяців тому

      Target image is the reference to track, you can keep the target image in a reference directory to auto select it based on a period check for the reached target in a scene with the reference location of the target.

  • @aujbinfaisal
    @aujbinfaisal 6 місяців тому

    No module named 'cv2'

    • @pyshine_official
      @pyshine_official 6 місяців тому

      pip install opencv-contrib-python to install

  • @QaiserPlays17
    @QaiserPlays17 6 місяців тому

    getting error when importing files .ui

    • @pyshine_official
      @pyshine_official 5 місяців тому

      Please check the location of the .ui file or paste here the kind of error you are experiencing

  • @maze3117
    @maze3117 7 місяців тому

    What version of python did you use here?

  • @riteshkarmakar3597
    @riteshkarmakar3597 8 місяців тому

    Excellent Tutorial!

  • @malakhassan9816
    @malakhassan9816 8 місяців тому

    You should be use IDE

  • @ellainejoyteruel6724
    @ellainejoyteruel6724 8 місяців тому

    Wow

  • @AustinDrawbaugh489
    @AustinDrawbaugh489 9 місяців тому

    1080x1620 30 frames per second

  • @TheRealDanNguyen
    @TheRealDanNguyen 10 місяців тому

    here is a better code: import pyaudio import numpy as np import matplotlib.pyplot as plt from matplotlib.animation import FuncAnimation # Audio stream parameters FORMAT = pyaudio.paInt16 # Audio format (16-bit PCM) CHANNELS = 1 # Number of audio channels (mono) RATE = 44100 # Sampling rate (samples per second) CHUNK = 1024 # Number of frames per buffer INPUT_DEVICE_INDEX = 1 # Index of the input device to use # Initialize PyAudio p = pyaudio.PyAudio() # Open the audio stream stream = p.open(format=FORMAT, channels=CHANNELS, rate=RATE, input=True, frames_per_buffer=CHUNK, input_device_index=INPUT_DEVICE_INDEX) # Initialize Matplotlib plot fig, ax = plt.subplots() x = np.arange(0, 2 * CHUNK, 2) line, = ax.plot(x, np.random.rand(CHUNK)) ax.set_ylim(-2**15, 2**15-1) # Update function for Matplotlib animation def update_plot(frame): data = np.frombuffer(stream.read(CHUNK), dtype=np.int16) line.set_ydata(data) return line, # Create an animation ani = FuncAnimation(fig, update_plot, blit=True) # Show the plot plt.show() # Close the stream stream.stop_stream() stream.close() p.terminate()

  • @taibahodzic1478
    @taibahodzic1478 10 місяців тому

    first🎉

  • @WasifAhmed-xj8qk
    @WasifAhmed-xj8qk 10 місяців тому

    🇧🇩🇧🇩‼️

  • @serkankaragoz6553
    @serkankaragoz6553 10 місяців тому

    error Traceback (most recent call last): File "C:\projedeneme\gui.py", line 119, in eventFilter image = ImageQt.fromqpixmap(self.ui.label_2.pixmap()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\PIL\ImageQt.py", line 86, in fromqpixmap return fromqimage(im) ^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\PIL\ImageQt.py", line 75, in fromqimage im.save(buffer, "ppm") TypeError: arguments did not match any overloaded call: save(self, fileName: Optional[str], format: Optional[str] = None, quality: int = -1): argument 1 has unexpected type 'PySide6.QtCore.QBuffer' save(self, device: Optional[QIODevice], format: Optional[str] = None, quality: int = -1): argument 1 has unexpected type 'PySide6.QtCore.QBuffer'

  • @serkankaragoz6553
    @serkankaragoz6553 10 місяців тому

    Traceback (most recent call last): File "C:\projedeneme\gui.py", line 119, in eventFilter image = ImageQt.fromqpixmap(self.ui.label_2.pixmap()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\PIL\ImageQt.py", line 86, in fromqpixmap return fromqimage(im) ^^^^^^^^^^^^^^ File "C:\Python312\Lib\site-packages\PIL\ImageQt.py", line 75, in fromqimage im.save(buffer, "ppm") TypeError: arguments did not match any overloaded call: save(self, fileName: Optional[str], format: Optional[str] = None, quality: int = -1): argument 1 has unexpected type 'PySide6.QtCore.QBuffer' save(self, device: Optional[QIODevice], format: Optional[str] = None, quality: int = -1): argument 1 has unexpected type 'PySide6.QtCore.QBuffer' I am getting the error please help

    • @pyshine_official
      @pyshine_official 10 місяців тому

      Seems like the version issue, as a starting point can you try PyQt5 version with Python 3.6 or Python 3.8.

    • @serkankaragoz6553
      @serkankaragoz6553 10 місяців тому

      @@pyshine_official Unfortunately it didn't work, is there any other way?

    • @pyshine_official
      @pyshine_official 10 місяців тому

      @@serkankaragoz6553 it seems like you are using Python3.12. Fo that case install these and the use python gui.py : pip3 install pyqt5 pip3 install pyqt5-tools For more detalis: pyshine.com/Pytesseract-GUI-for-many-languages-with-full-scan/

    • @serkankaragoz6553
      @serkankaragoz6553 10 місяців тому

      @@pyshine_official Unfortunately it doesn't work. Is there any other way please help?

    • @pyshine_official
      @pyshine_official 10 місяців тому

      Ok are you using PySide6, or PyQt6? Can you paste the script import lib lines that you are running ?

  • @Aikoaji
    @Aikoaji 10 місяців тому

    I completed everything and my rpi is now on ad hoc wifi mode, but how can I reverse back to original mode?

    • @pyshine_official
      @pyshine_official 10 місяців тому

      To reverse back to original wifi mode: sudo cp /etc/network/wifi-interface interfaces

    • @pyshine_official
      @pyshine_official 10 місяців тому

      pyshine.com/How-to-configure-Raspberry-Pi-in-Ad-hoc-wifi-mode/

    • @PutterMueangthongkham
      @PutterMueangthongkham 10 місяців тому

      @@pyshine_official I tried that command but still does not work, my rpi still does not see all available list of nearby wifi which should have if it is reversed back to original mode. Do I have to delete all lines I typed in all sudo nano?

  • @vinaygupta8183
    @vinaygupta8183 11 місяців тому

    Thank you so much sir it helped me a lot 🎉❤

  • @АринаШупенко
    @АринаШупенко 11 місяців тому

    hey, thx for your video can you please explain, why we need install gymnasium in this way? why we can't just write "pip instal gymnasium' and 'import gymnasium as gym"? why we use another way (like you represented in video) in google collab to do this implementation?

  • @Jon-s4s
    @Jon-s4s 11 місяців тому

    Hi! Create a video where the server captures the screen and streams it to the client.

  • @derickjohn3065
    @derickjohn3065 Рік тому

    Hi, thanks for the tutorial. Do you know which module is better for transmitting of video frames as shown in the video, socket or imagezmq? Do you have any tutorials or imagezmq?

    • @pyshine_official
      @pyshine_official Рік тому

      UDP is faster pyshine.com/Send-video-over-UDP-socket-in-Python/ and for Zmq pyshine.com/Faster-video-transfer-over-wifi/

  • @laus-thecurious4120
    @laus-thecurious4120 Рік тому

    will it work without intternet connection

  • @JarradAB1
    @JarradAB1 Рік тому

    Her accent Sounds South African. Pretty cool!

  • @Jon-s4s
    @Jon-s4s Рік тому

    How can I transmit a captured screen and audio from the server to the client?

    • @pyshine_official
      @pyshine_official Рік тому

      You might need pyautogui for screen capture and pyaudio together

  • @guesswho8556
    @guesswho8556 Рік тому

    when installung box2d I always get: Collecting box2d-py Downloading box2d-py-2.3.8.tar.gz (374 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 374.5/374.5 kB 5.0 MB/s eta 0:00:00 Preparing metadata (setup.py) ... done Building wheels for collected packages: box2d-py error: subprocess-exited-with-error × python setup.py bdist_wheel did not run successfully. │ exit code: 1 ╰─> See above for output. note: This error originates from a subprocess, and is likely not a problem with pip. Building wheel for box2d-py (setup.py) ... error ERROR: Failed building wheel for box2d-py Running setup.py clean for box2d-py Failed to build box2d-py ERROR: Could not build wheels for box2d-py, which is required to install pyproject.toml-based projects

    • @pyshine_official
      @pyshine_official Рік тому

      Please check python version, dependency

    • @AlexanderYaremchuk
      @AlexanderYaremchuk Рік тому

      @@pyshine_official Python Version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] Executable Path: /usr/bin/python3 the same error

  • @brajeshmohanty2558
    @brajeshmohanty2558 Рік тому

    Sir can this be implemented using java

  • @elsyanasaltanu9788
    @elsyanasaltanu9788 Рік тому

    can I use source from CCTV audio?

  • @peiiii8447
    @peiiii8447 Рік тому

    Thanks for the video :) Just want to ask that it is known to use UDP when requiring fast-speed transmitting. What if I use TCP when sending the video? what will happen?

    • @peiiii8447
      @peiiii8447 Рік тому

      Also could you pls share the reason of choosing UDP with video and TCP with audio? Thank u very much

    • @idosenn4404
      @idosenn4404 Рік тому

      UDP is fast but sometimes loses data. TCP makes sure no data is lost, but is slower as a result. When losing some data is a problem, like when loading a website, you should use TCP. But in voice chat for example, if you lose some of the audio once a while it isn't a huge problem, and UDP can be the right choice. Sorry for the broken English, it's not my first language.@@peiiii8447

  • @menghuitan1628
    @menghuitan1628 Рік тому

    Hi, I have 2 questions 1.) How do you handle discrete variables(integer coordinates in the position) ? 2.) How do you update the positions to satisfy the constraints if they exist?

  • @cambrawal
    @cambrawal Рік тому

    Thank you!

  • @tesm_jsf
    @tesm_jsf Рік тому

    Hello how can I check if the audio stream is done so I can close the sockets and then reuse them?