streamlit4c / app.py
seawolf2357's picture
Update app.py
6d50abd verified
raw
history blame
1.98 kB
import streamlit as st
import os
# ์‚ฌ์ด๋“œ๋ฐ” ํƒ€์ดํ‹€ ์„ค์ •
st.sidebar.title("ViDraft")
# ๋ฉ”๋‰ด ํ•ญ๋ชฉ๊ณผ ํ•˜์œ„ ํ•ญ๋ชฉ ์ •์˜
menus = {
"Free Stock": ["Template Video", "Template Image", "Search Video", "Search Image"],
"Image": ["Generation", "Face ID", "Inpainting", "Remove Background", "Studio"],
"Video": ["Generation", "Talking Face", "Remove Background", "Studio"],
"Sound": ["Video SFX", "Video Music", "TTS(Voice)", "Voice Clone", "Image SFX", "Image Music"],
"Scripts": ["Script"]
}
# ์„ ํƒ๋œ ๋น„๋””์˜ค๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜
selected_video = None
# ๋ฉ”๋‰ด ์ƒ์„ฑ ๋ฐ ์ ‘์ด์‹ ๋ฉ”๋‰ด ๊ตฌํ˜„
for menu in menus.keys():
with st.sidebar.expander(menu):
for sub_menu in menus[menu]:
# menu์™€ sub_menu๋ฅผ ๊ฒฐํ•ฉํ•˜์—ฌ ๊ณ ์œ ํ•œ key ์ƒ์„ฑ
unique_key = f"{menu}_{sub_menu}"
if st.button(sub_menu, key=unique_key):
selected_menu = menu
selected_sub_menu = sub_menu
break
# 'Template Video'๊ฐ€ ์„ ํƒ๋˜์—ˆ์„ ๋•Œ ๋น„๋””์˜ค ๊ฐค๋Ÿฌ๋ฆฌ๋ฅผ ํ‘œ์‹œ
if selected_menu == "Free Stock" and selected_sub_menu == "Template Video":
st.subheader("Template Videos")
# 10๊ฐœ์˜ ๋น„๋””์˜ค ์ธ๋„ค์ผ๊ณผ ํŒŒ์ผ ๊ฒฝ๋กœ ์ •์˜
video_paths = [f"example{i}.mp4" for i in range(1, 11)]
thumbnail_paths = [f"thumbnail{i}.jpg" for i in range(1, 11)]
# ์ธ๋„ค์ผ์„ ํ‘œ์‹œํ•˜๊ณ  ์„ ํƒ ์ฒ˜๋ฆฌ
cols = st.columns(5)
for index, col in enumerate(cols):
with col:
if index < len(thumbnail_paths):
# ์ธ๋„ค์ผ ์ด๋ฏธ์ง€ ํ‘œ์‹œ
st.image(thumbnail_paths[index], width=100)
# ์ธ๋„ค์ผ ํด๋ฆญ ์ฒ˜๋ฆฌ (์—ฌ๊ธฐ์„œ๋Š” ๋‹จ์ˆœํžˆ ๋ฒ„ํŠผ์œผ๋กœ ๊ตฌํ˜„)
if st.button(f"Play Video {index+1}", key=f"video{index+1}"):
selected_video = video_paths[index]
# ์„ ํƒ๋œ ๋น„๋””์˜ค ์žฌ์ƒ
if selected_video:
st.video(selected_video)