Streamlit으로 웹을 만들었고, 파일업로더로 업로드한 동영상이 재생되지 않는 문제가 발생하였다.
문제 상황
Streamlit으로 동영상을 업로드 하고 싶으면 아래 코드를 사용하면 된다.
source_video = st.sidebar.file_uploader(
"Choose an video...", type=("mp4"))
Streamlit의 file_uploader를 사용해서 만들어주면 된다.
이 파일 업로더로 동영상을 업로드 해도 제대로 뜨지 않는 문제가 발생하였다.
이렇게 동영상이 정상적으로 실행되지 않은 모습을 볼 수 있었다.
문제 원인
브라우저에서 비디오를 재상하기 위한 정보가 빠져있었다.
파일의 코덱이 mpeg 형태라 브라우저에서 지원하지 않아서 실행이 불가능했다.
처음에는 코드가 잘못된 줄 알고 엄청 헤맸는데, 다행히 코드의 문제는 아니었다.
해결 방안
따라서 동영상의 형태를 h264 또는 vp8로 변경해야했다.
다만 h264도 파이어폭스에서는 재생이 불가능하다.
동영상을 편집하여 수정해주었다.
변경된 동영상은 재생이 잘 되는 모습을 볼 수 있었다.