m3u8파일과 분할되어 있는 ts파일이 있는데..
이걸 하나로 합칠려고 알아보니 ffmpeg.exe를 구해서..
명령커멘드로 ffmpeg -i A.m3u8 B.mp4로 했는데요..
이러면 무손실로 합치는걸까요??
무손실로 합칠수 있는 방법은 없을까요??
m3u8파일과 분할되어 있는 ts파일이 있는데..
이걸 하나로 합칠려고 알아보니 ffmpeg.exe를 구해서..
명령커멘드로 ffmpeg -i A.m3u8 B.mp4로 했는데요..
이러면 무손실로 합치는걸까요??
무손실로 합칠수 있는 방법은 없을까요??
'합친다'라고 하신 부분이 메타데이터로 챕터를 삽입하는 것을 말씀하시는 것 같은데, m3u8 파일을 메타데이터 파일 형식으로 편집을 먼저 해야 하지 않을까요? 샤나님의 팁대로 메타데이터 형식에 맞게 m3u8을 고치는 게 우선일 것 같습니다.
그 파일을 B.txt라고 하고, 이를 챕터 메타데이터로 삽입하고자 하는 ts 파일을 A.ts라고 하죠. 삽입 후 A.mp4 파일을 얻고자 한다면 ffmpeg 명령행은 대략 다음과 같을 것 같네요.
ffmpeg -analyzeduration 100M -probesize 50M -i A.ts -i B.txt -map_metadata 1 -c copy -y A.mp4
-analyzeduration 100M -probesize 50M 은 전역 헤더가 없는 ts 파일에서 스트림 정보를 파악하기 위해 미리 앞부분을 읽도록 하는 옵션입니다.
실행 후 에러가 난다면 어디서 어떤 문제가 생긴 건지 파악해서 고쳐 나가시면 될 듯합니다.
명령행에서 보시는 -c copy가 비디오/오디오/자막 스트림을 그대로 복사하는 것이니 말씀하시는 '무손실'이 맞습니다. 단지 문제는 원본 ts의 각 스트림 코덱이 output의 파일 형식인 mp4에 들어갈 수 있는 것들이냐 하는 것입니다. mp4 형식에 맞지 않는 코덱으로 돼 있으면 에러가 날 수도 있습니다. 그때는 할 수 없이 재인코딩을 해야겠죠.