GStreamer* Video Pipeline#

Run a GStreamer* video pipeline using GStreamer* plugins, and display a video file in a Docker* container window.

Run the Sample Application#

  1. Check if your installation has the amr-gstreamer Docker* image.

    docker images |grep amr-gstreamer
    #if you have it installed, the result is:
    amr-gstreamer
    

    Note

    If the image is not installed, continuing with these steps triggers a build that takes longer than an hour (sometimes, a lot longer depending on the system resources and internet connection).

  2. If the image is not installed, Intel® recommends installing the Robot Base Kit or Robot Complete Kit with the Get Started Guide for Robots.

  3. Check that EI for AMR environment is set:

    echo $AMR_TUTORIALS
    # should output the path to EI for AMR tutorials
    /home/user/edge_insights_for_amr/Edge_Insights_for_Autonomous_Mobile_Robots_2023.1/AMR_containers/01_docker_sdk_env/docker_compose/05_tutorials
    

    If nothing is output, refer to Get Started Guide for Robots Step 5 for information on how to configure the environment.

  4. Run an automated yml file that opens a GStreamer* sample application inside the EI for AMR Docker* container.

    docker compose -f $AMR_TUTORIALS/gstreamer_video.tutorial.yml up
    

    Expected output: The video file is displayed in a window in the container.

    ../_images/9FE8D6DB-A018-480F-8513-966878FF2382-low.png
  5. To close this, do the following:

    • Type Ctrl-c in the terminal where you did the up command.

    • Run this command to remove stopped containers:

    docker compose -f $AMR_TUTORIALS/gstreamer_video.tutorial.yml down
    
  6. For an explanation of what happened, open the yml file:

    • The first 23 lines are from the EI for AMR infrastructure.

    • Line 26 clones some sample videos.

    • Line 27 play the video using GStreamer*.

  7. To use your own video, use the same yml file but update line 27 to target your own file.

    For example, copy the file:

    cp test.mp4 ${CONTAINER_BASE_PATH}/01_docker_sdk_env/docker_compose/05_tutorials/test.mp4
    

    And update line 27 to:

    gst-launch-1.0 playbin uri=file://${CONTAINER_BASE_PATH}/01_docker_sdk_env/docker_compose/05_tutorials/test.mp4
    

Troubleshooting#

If running the yml file gets stuck at downloading:

gedit 01_docker_sdk_env/docker_compose/05_tutorials/gstreamer_video.tutorial.yml
# In the same way open any other yml you want to test behind a proxy.

Add the following lines after “echo “*** Run gst-launch with video sample from the Docker container ***”, replacing http://<http_proxy>:port with your actual environment http_proxy.

export http_proxy="http://<http_proxy>:port"
export https_proxy="http://<https_proxy>:port"

Check your system date and time:

date

If the date is incorrect, contact your local support team for help setting the correct date and time.

For general robot issues, go to: Troubleshooting for Robot Tutorials.