Mp4VideoGallery / app.py
awacke1's picture
Create app.py
7cd4cc4
import streamlit as st
import os
import random
def get_videos(directory):
return [f for f in os.listdir(directory) if f.endswith('.mp4')]
# def showAnimatedGif(gif):
# import streamlit as st
# import base64
# #st.markdown("![Alt Text](https://media.giphy.com/media/vFKqnCdLPNOKc/giphy.gif)")
# st.write('Loading: ' + gif)
# file_ = open(gif, "rb")
# contents = file_.read()
# data_url = base64.b64encode(contents).decode("utf-8")
# file_.close()
# st.write(data_url)
# st.markdown(
# f'<img src="data:image/gif;base64,{data_url}" alt="gif">',
# unsafe_allow_html=True,
# )
def main():
st.title('MP4 Videos in Streamlit')
directory = './videos' # Replace with your directory of videos
video_files = get_videos(directory)
num_rows = len(video_files) // 3
if len(video_files) % 3:
num_rows += 1
cols = [st.columns(3) for _ in range(num_rows)]
for i in range(num_rows):
for j in range(3):
idx = i*3 + j
if idx < len(video_files):
#showAnimatedGif(os.path.join(directory, gif_files[idx]))
cols[i][j].video(os.path.join(directory, video_files[idx]))
if st.button('Randomize'):
random.shuffle(video_files)
for i in range(num_rows):
for j in range(3):
idx = i*3 + j
if idx < len(video_files):
cols[i][j].video(os.path.join(directory, video_files[idx]))
if __name__ == "__main__":
main()