- 6
- 이니스프리
- 조회 수 1505
import shutil with open('playlist.m3u8', 'r') as playlist: file_list = [line.rstrip() for line in playlist if line.rstrip().endswith('.ts')] with open('merged_file.ts', 'wb') as f1: for t in file_list: with open(t, 'rb') as f2: shutil.copyfileobj(f2, f1)
m3u8 파일의 목록에 있는 ts 파일들의 목록을 리스트에 담은 후에
shutil 모듈을 이용하여 리스트에 담긴 파일들을 하나씩 merge하는 방법입니다 ^^
단순히 이렇게 merge할 수 있다는게 의외네요~!!
파일이 커지면 시스템 리소스를 얼마나 차지할지 모르겠네요 ㄷㄷ
제가 구글링해서 짜깁기한 허접한 스크립트인데
youtube_dl 등 다운로더에서는 어떤 방식을 사용하고 있는지 스크립트를 분석&비교해봐야겠네요 :)
작성자
댓글 6
2020.06.22. 11:51
더 간편하게 MP4Joiner 같은 프로그램도 있죠 ^^
shutil은 파이썬 기본 모듈이라서 설치가 필요 없거든요 :)
shutil은 파이썬 기본 모듈이라서 설치가 필요 없거든요 :)
2020.06.22. 13:55
MP4Joiner 경우는 간혹 합칠때 영상이 씹히는 증상 발생하거나 중간에 누락되는문제가 발생해서서....
옛날엔 사용했다가 지금은 사용않하고있네요..
옛날엔 사용했다가 지금은 사용않하고있네요..
2020.06.22. 14:44
MP4Tools / MP4Joiner / MP4Splitter 이 시리즈가 ffmpeg 기반의 GUI 프로그램인데요?? :)
맥에서 문제 없이 돌렸던 기억이 나는데 예전에 윈도우에서는 문제가 있었나보군요 ㄷㄷ
아주 큰 파일을 테스트하지는 못했지만 shutil을 이용하는 방법에서는 아직까지 문제를 발견하지 못했네요 ^^
2020.06.22. 15:42
존재하지 않는 스티커입니다.
2020.06.22. 15:47
권한이 없습니다.
Python사용법은 제가 몰라 사용은안하지만 ffmpeg 이용하면 왠만한건 해결할수있긴하죠...
잘이용하고있는터라..