Streamlit - 웹 대시보드에서 매체(이미지,영상,음악) 사용하기

반응형

이 글은 Python언어와 Visual Studio Code, GitHub Desktop을 기반으로 작성되었습니다.

# 웹 대시보드에 이미지, 영상, 음악 사용하기

웹 대시보드 사용을 하기 위한 streamlit 라이브러리 호출 

  • 편의상 streamlit을 st로 축약해서 사용
import streamlit as st

웹 대시보드에서 이미지 사용하기

  • .image('경로와 파일이름')
  • 이미지는 파일과 URL을 이용하여 출력 할 수 있다.

 

1. 내 서버(혹은 컴퓨터)에 있는 이미지 파일 불러오기

  • 옵션 > use_column_width=True로 설정하면 현재 창을 기준으로 가로세로 너비가 조절
  • 소스 코드
st.image('data2/image_03.jpg')
st.image('data2/image_03.jpg', use_column_width = True)

 

  • 실행 화면


2. 인터넷 URL을 이용하여 이미지 불러오기

  • .image('경로와 파일이름')에는 경로가 URL도 포함되어 불러 올 수 있다.
  • 보통은 URL이 길기 때문에 가독성을 위해 변수로 저장해서 사용한다.

 

  • 소스 코드
img_url = 'https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVF9W6%2FbtrCCFKYs6k%2FxMJQ2AfBtZRiEJlML71Lak%2Fimg.png'
st.image(img_url)

 

  • 결과 화면

<블로그에 자주 올리던 타이틀 이미지>


웹 대시보드에서 영상(비디오) 사용하기

1. 비디오 파일의 경로와 모드가 포함 되어 있는 변수를 이용하여 불러오기

  • 변수 = open('경로와 파일 이름', '모드')
    .video(변수)
    • 여기서 모드란, 읽고 쓰기의 개념으로 무엇을 할지 정하는 것, rb를 사용한다. (read, 읽기)
    • rb는 이진 읽기라는 뜻이긴 한데, 쉽게 말해서 텍스트를 제외한 파일은 rb를 사용하면 된다.

 

  • 소스 코드
video_file = open('data2\secret_of_success.mp4', 'rb')
st.video(video_file)

 

2. 비디오 파일의 경로를 그대로 넣어 다이렉트로 불러오기

  • .video('경로와 파일이름', format='video/mp4')
    • 굳이 변수를 안쓰고 다이렉트로 넣을 수도 있다.
    • 비디오 파일의 확장자만 잘 맞으면 format은 생략해도 된다.

 

  • 소스 코드
    st.video('data2\secret_of_success.mp4')#, format='video/mp4')

 

  • 실행 화면
    • 위에서 설명한 두개의 실행 화면은 같다.

<동영상이 아닌 이미지 캡쳐본임!!!>


웹 대시보드에서 오디오(음악) 사용하기

  • 마찬가지로 비디오 파일 호출과 같다.
  • 부르는 함수만 바뀌었을 뿐 내용과 형식은 똑같다.

 

1. 오디오 파일의 경로와 모드가 포함되어있는 변수를 이용하여 불러오기

  • 변수1 = open('경로와 파일이름', '모드')
    .video(변수)

 

  • 소스 코드
audio_file = open('data2/song.mp3', 'rb')
st.audio(audio_file.read(), format='audio/mp3')

 

2. 오디오 파일의 경로를 그대로 넣어 다이렉트로 불러오기

  • .video('경로와 파일이름', format='audio/mp3')
    • 굳이 변수를 안쓰고 다이렉트로 넣을 수도 있다.
    • 비디오 파일의 확장자만 잘 맞으면 format은 생략해도 된다.

 

  • 소스 코드
st.audio('data2/song.mp3')

 

  • 실행 화면
    • 위에서 설명한 두개의 실행 화면은 같다.

반응형