こんにちは、JS2IIUです。
今回の記事では動画ファイルをStreamlit上で再生する方法について見ていきます。また、ネット動画を埋め込む方法についても説明します。今回もよろしくお願いします。
はじめに
Streamlit は、Python のコードだけでシンプルかつ強力な Web アプリを素早く作れる便利なフレームワークです。
中でも st.video を使うことで、アプリ上に動画プレーヤーを簡単に組み込むことができます。
この記事では、以下の内容をステップバイステップでわかりやすく解説します:
- ローカル動画ファイルを再生する方法
- ユーザーがアップロードした動画を表示する方法
- YouTube動画を埋め込んで再生する方法
開発環境の準備
Python と Streamlit のインストール
Python がインストールされていれば、以下のコマンドで Streamlit をインストールできます。
pip install streamlit動作確認済みバージョン(参考)
- Python 3.9~3.11
- Streamlit 1.32.0(2025年4月時点)
st.video の基本的な使い方
まずは、ローカルにある動画ファイル(例:sample_video.mp4)を表示してみましょう。
例:動画ファイルを再生する基本コード
import streamlit as st
st.title("ローカル動画の再生")
# 動画ファイルを再生
st.video("sample_video.mp4")このように、st.video にファイルパスを渡すだけで、ブラウザ上に動画プレーヤーが表示されます。
ユーザーがアップロードした動画を再生する
Streamlit では st.file_uploader を使って、ユーザーが動画ファイルをアップロードする仕組みを簡単に作ることができます。
ステップ1:アップローダーを表示
uploaded_file = st.file_uploader("動画ファイルをアップロードしてください", type=["mp4"])ここでは .mp4 ファイルのみ受け付けています。
ステップ2:アップロードされたファイルを再生
if uploaded_file is not None:
st.video(uploaded_file)ステップ3:完成コード(アップロード+再生)
import streamlit as st
st.title("アップロードした動画を再生する")
# ファイルアップローダー
uploaded_file = st.file_uploader("動画ファイルをアップロードしてください", type=["mp4"])
# アップロードされた動画の表示
if uploaded_file is not None:
st.success("アップロード成功!以下に動画を表示します。")
st.video(uploaded_file)
else:
st.info("まずは .mp4 形式の動画ファイルをアップロードしてください。")このファイルを app.py として保存し、以下のコマンドで起動します:
streamlit run app.pyYouTube動画を埋め込んで再生する
st.video では、YouTube の動画も簡単に埋め込むことができます。
URL を文字列として渡すだけで、自動的に動画プレーヤーが表示されます。
ステップ1:YouTubeのURLを用意
例として、以下のような URL を使います:
https://www.youtube.com/watch?v=ABCDEFG1234ステップ2:コード例
import streamlit as st
st.title("YouTube動画の埋め込み")
# YouTubeのURL
youtube_url = "https://www.youtube.com/watch?v=abcdefg1234"
# 動画を埋め込む
st.video(youtube_url)応用:ユーザー入力でYouTube動画を再生
ユーザーがURLを入力し、それをそのまま st.video に渡すこともできます。
import streamlit as st
st.title("YouTube動画を再生する")
# ユーザーにURLを入力してもらう
url = st.text_input("YouTubeのURLを入力してください")
if url:
st.video(url)このように、YouTubeとの連携も非常に簡単に実現できます。

よくあるエラーと対処法
🔸 ファイルが読み込めない
.mp4や.movなど、ブラウザで再生可能なフォーマットであることを確認してください。- ファイルサイズが大きすぎると Streamlit Cloud でアップロードできない場合があります(最大 200MB 程度)。
🔸 動画が再生されない/音声が出ない
- 一部のブラウザでは特定の動画形式(コーデック)に対応していない場合があります。
- 音声が再生されない場合、ファイルのコーデックを見直すことをおすすめします(例:AAC音声推奨)。
まとめ
今回の記事では、Streamlit を使って以下のことを学びました:
✅ st.video で動画ファイルを再生できる
✅ st.file_uploader で動画のアップロード機能を実装できる
✅ YouTube動画をURLだけで簡単に埋め込んで表示できる
これらを組み合わせることで、教育用アプリ・レビューアプリ・メディアビューアなど様々な用途に応用できます。
参考リンク
- 🔗 Streamlit公式ドキュメント:st.video
- 🔗 Streamlit公式ドキュメント:st.file_uploader
- 🔗 YouTube動画をテスト用に使う(YouTube公式)
- 🔗 Pexels:無料の動画素材(テスト用ファイルに便利)
最後に書籍のPRです。
24年9月に出版された「ハイパーモダンPython-信頼性の高いワークフローを構築するモダンテクニック」、Claudio Jolowicz著、嶋田、鈴木訳。開発環境の構築、プロジェクトの管理、テストに関して実践的な内容でとても参考になる一冊です。Poetryについても詳しく説明されています。ぜひ手に取ってみてください。
最後まで読んでいただきありがとうございます。


コメント