Streamlit
1 Introduction to Streamlit
1.1 What is Streamlit?
1.2 Why use Streamlit?
1.3 Setting up the environment
1.4 Creating your first Streamlit app
2 Basic Components
2.1 Text elements
2.1 1 Displaying text
2.1 2 Formatting text
2.2 Data display elements
2.2 1 Displaying data frames
2.2 2 Displaying tables
2.3 Input widgets
2.3 1 Text input
2.3 2 Number input
2.3 3 Date input
2.3 4 Dropdown selection
2.3 5 Slider
2.3 6 Checkbox
2.3 7 Radio buttons
2.3 8 Buttons
3 Advanced Components
3.1 Interactive widgets
3.1 1 Multiselect
3.1 2 File uploader
3.1 3 Color picker
3.2 Media elements
3.2 1 Displaying images
3.2 2 Displaying videos
3.2 3 Displaying audio
3.3 Chart elements
3.3 1 Line chart
3.3 2 Bar chart
3.3 3 Area chart
3.3 4 Scatter chart
3.3 5 Map chart
4 Layout and Styling
4.1 Layout components
4.1 1 Columns
4.1 2 Tabs
4.1 3 Expander
4.2 Styling elements
4.2 1 Custom CSS
4.2 2 Theming
4.2 3 Adding custom fonts
5 State Management
5.1 Session state
5.1 1 Managing state across reruns
5.1 2 Persisting state
5.2 Caching
5.2 1 Caching functions
5.2 2 Caching data
6 Deployment
6.1 Deploying to Streamlit Sharing
6.1 1 Setting up Streamlit Sharing
6.1 2 Deploying your app
6.2 Deploying to other platforms
6.2 1 Deploying to Heroku
6.2 2 Deploying to AWS
6.2 3 Deploying to Google Cloud
7 Best Practices
7.1 Writing clean and maintainable code
7.2 Optimizing performance
7.3 Handling errors and exceptions
7.4 Version control with Git
8 Advanced Topics
8.1 Integrating with other libraries
8.1 1 Integrating with Pandas
8.1 2 Integrating with Plotly
8.1 3 Integrating with TensorFlow
8.2 Building complex apps
8.2 1 Creating multi-page apps
8.2 2 Handling authentication
8.2 3 Building interactive dashboards
8.3 Custom components
8.3 1 Creating custom widgets
8.3 2 Extending Streamlit with custom components
9 Case Studies
9.1 Building a data exploration app
9.2 Building a machine learning model deployment app
9.3 Building a real-time data visualization app
3 2 2 Displaying Videos Explained

2 2 Displaying Videos Explained

Key Concepts

Explanation

1. st.video

st.video is a Streamlit function that allows you to embed and display videos directly within your application. This function is particularly useful for showcasing tutorials, demos, or any other video content relevant to your app.

2. Video Sources

Videos can be loaded from various sources, including local files, URLs, and cloud storage services. The source can be specified as a file path or a URL string.

3. Video Formats

Streamlit supports a variety of video formats, including MP4, WebM, and Ogg. Ensure that the video format is compatible with the browser for optimal playback.

4. Customization

While st.video offers limited customization options, you can control the start time of the video using the start_time parameter. This allows you to skip to a specific part of the video when it starts playing.

Examples

Example 1: Embedding a Local Video

import streamlit as st

video_file = open('example.mp4', 'rb')
video_bytes = video_file.read()
st.video(video_bytes)
    

Example 2: Embedding a Video from a URL

import streamlit as st

video_url = "https://www.example.com/video.mp4"
st.video(video_url)
    

Example 3: Customizing the Start Time

import streamlit as st

video_url = "https://www.example.com/video.mp4"
st.video(video_url, start_time=120)
    

Analogies

Think of st.video as a video player embedded directly into your Streamlit app. Just like a DVD player can play videos from a disc, st.video can play videos from various sources. The start time customization is like skipping to a specific chapter in a DVD.

By mastering the use of st.video, you can enhance your Streamlit applications by embedding rich multimedia content, making your apps more engaging and informative.