.ts 파일을 무손실로 메인 스트림 포맷으로 변환하는 방법은 무엇입니까?


13

.ts로 끝나는 파일이 있습니다 (예 : 처음 10MB ). 가능한 경우 무손실 방식 (예 : 리 뮤싱)으로보다 메인 스트림 형식 (예 : mp4, MPEG2-PS ...)으로 변환하고 싶습니다.

.ts 파일을 유용한 것으로 변환 하는 방법 을 읽었습니다 . 질문. avidemux비디오 및 오디오 스트림에 대한 "복사"설정과 MPEG에 대한 "PS"컨테이너 형식으로 설정을 시도 했습니다. "호환되지 않는 오디오 / DVD의 경우 오디오는 48kHz MP2 (스테레오), AC3, DTS 또는 LPCM (스테레오)이어야합니다."오류 메시지와 함께 실패했습니다.

또한 제안 된 CLI 명령을 시도했습니다.

avconv -i 10MB.ts -vcodec copy -acodec copy 10MB.mpg

최소한 VLC로 재생할 때 출력 파일에 올바른 비디오가 있지만 소리가 들리지 않습니다. 때문에, 매우 수수께끼이다 avconv올바르게 오디오 스트림을 감지 것으로 보인다.

Input #0, mpegts, from '10MB.ts':
  Duration: 00:00:06.36, start: 51523.824800, bitrate: 12563 kb/s
  Program 37888 
    Stream #0.0[0x100]: Video: mpeg2video (Main), yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], 20000 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
    Stream #0.1[0x110]: Audio: aac, 0 channels, fltp, 144 kb/s
    Stream #0.2[0x130]: Data: [6][0][0][0] / 0x0006
    Stream #0.3[0x138]: Data: [6][0][0][0] / 0x0006
    Stream #0.4[0x140]: Data: [13][0][0][0] / 0x000D
    Stream #0.5[0x160]: Data: [13][0][0][0] / 0x000D
    Stream #0.6[0x161]: Data: [13][0][0][0] / 0x000D
    Stream #0.7[0x162]: Data: [13][0][0][0] / 0x000D
    Stream #0.8[0x170]: Data: [13][0][0][0] / 0x000D
    Stream #0.9[0x171]: Data: [13][0][0][0] / 0x000D
    Stream #0.10[0x172]: Data: [13][0][0][0] / 0x000D
Output #0, mpeg, to '10MB.mpg':
  Metadata:
    encoder         : Lavf54.20.4
    Stream #0.0: Video: mpeg2video, yuv420p, 1440x1080 [PAR 4:3 DAR 16:9], q=2-31, 20000 kb/s, 90k tbn, 90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)

나는 또한 다른 질문 의 의견에서 제안 된 CLI 명령을 시도 했다 .

avconv -i 10MB.ts -c:v copy -c:a libfaac 10MB.mp4

다시, 출력 파일에서 소리가 들리지 않습니다.

편집 : @Daniel이 제안한대로 VLC 를 사용해 보았습니다 . 거의 완벽했다. 빠르고 사용자 친화적이었습니다. "변환 / 저장"을 클릭하고 입력 파일을 추가하고 MP4 프로파일을 선택한 다음 비디오 코덱 및 오디오 코덱을 "원본 비디오 / 오디오 트랙 유지"로 구성하고 대상 파일을 선택한 다음 "시작"을 클릭해야했습니다. 비디오가 완벽 해 보였지만 오디오가 약간 손상되었지만 비디오의 오디오 스트림에서 매우 이국적인 문제로 인해 발생할 수 있습니다.


VLC를 사용해 보셨습니까? videolan.org/vlc/index.html
Daniel

가능하다면 다시 인코딩하지 말고 리 먹싱하고 싶다고 언급했습니다. VLC가 리 먹싱 만 확실합니까?
llogan

@LordNeckbeard 좋은 지적입니다! 어떻게 확신 할 수 있습니까?
lacton

변환에 대한 VLC에 익숙하지 않지만를 사용하여 답변을 추가했습니다 ffmpeg.
llogan

VLC는 무엇이든 뛰어난 무손실로 변환합니다. 기본적으로 선택한 형식으로 제한됩니다.
Daniel

답변:


22

마트로 스카 (MKV)

이 것 사본 스트림 (재-MUX) 모든 스트림을 :

ffmpeg -i input -map 0 -c copy output.mkv

-map 0옵션은 모든 스트림을 포함하는 데 사용됩니다. 그렇지 않으면 기본 스트림 선택 동작을 사용하여 스트림 유형 당 하나의 스트림 만 선택됩니다. Matroska가 포함 된 대부분의 임의 스트림을 처리 할 수 ​​있기 때문 -map 0입니다.

MP4

이 것 사본 스트림 (재-MUX) 모든 스트림을 :

ffmpeg -i input -map 0 -c copy output.mp4
  • 입력 형식이 MP4와 호환되지 않으면 오류가 발생합니다.
  • 플레이어 / 장치는 MP4에서 지원하더라도 임의, 덜 일반적이거나 레거시 형식을 모두 지원하지 않을 수 있습니다.
  • 의심스러운 경우 아래 그림과 같이 H.264 + AAC로 다시 인코딩하십시오.

비디오를 H.264로 다시 인코딩하고 오디오를 스트림 복사합니다.

ffmpeg -i input.ts -c:v libx264 -c:a copy output.mp4

다음 예제는 비디오와 오디오를 모두 다시 인코딩합니다.

ffmpeg -i input.ts -c:v libx264 -c:a aac output.mp4

무손실 H.264 예 :

ffmpeg -i input.ts -c:v libx264 -crf 0 -c:a copy output.mp4

무손실 파일은 엄청납니다.

자세한 정보는 FFmpeg Wiki : H.264 를 참조하십시오.


무손실 MP4 파일을 인코딩하려면 FFMpeg Wiki 페이지에 언급 된대로 -qp 0 또는 -crf 0을 추가하십시오. trac.ffmpeg.org/wiki/Encode/H.264
SuperSluether

2
@SuperSluether Lossless는 거대한 파일을 만듭니다. "무손실"에 의해 락톤은 "원격"을 의미한다고 생각합니다.
llogan

내가 제공 한 샘플 파일은 실제로 잘립니다. remux하려는 실제 파일이 너무 커서 쉽게 공유 할 수 없습니다.
lacton

1
@lacton matroska에 muxing을 시도하십시오 : ffmpeg -i 10MB.ts -c copy output.mkv. 오류가 발생합니다 : Error parsing AAC extradata, unable to determine samplerate. 이것이 MKV 예제가 오디오를 다시 인코딩 한 이유입니다. # 4472 : 인코딩이없는 스트림에서 AAC 복사 실패lavf / mkv : AAC remuxing 수정을 참조하십시오 . 그러나이 중 어느 것도 잘리지 않은 큰 입력 파일에는 적용되지 않으며 예상대로 작동 할 수 있습니다.
llogan

1
@LordNeckbeard ffmpeg -i input -c:v copy -c:a aac output.mkv는 완벽하게 작동했습니다. VLC로 변환 할 때 약간의 손상없이 비디오가 리 뮤싱되었으며 오디오가 원본만큼 좋았습니다.
lacton

3

VideoLAN (VLC- http: //www.videolan.org/vlc/index.html )은 무엇이든 거의 모든 것을 쉽게 변환 할 수 있습니다.

기회를주세요. Linux, Windows 및 Mac OS X에서 실행되며 매우 사용자 친화적 인 인터페이스를 제공합니다.


비디오 변환에 VLC를 사용 했으므로 권장합니다. 이 제안에 감사드립니다. 내 .ts 파일의 경우 거의 효과가있었습니다. 비디오가 완벽 해 보였지만 오디오가 약간 손상되었습니다. 내 비디오의 오디오 스트림에서 매우 이국적인 것으로 인해 발생할 수 있습니다. 이것을 포함하기 위해 원래 질문을 편집했습니다.
lacton

예, mp4 내부의 오디오에 다른 하위 컨테이너를 사용하면 더 잘 작동 할 수 있습니다. 아마도 RAW 일 것입니다.
Daniel

0

@llogan 의 다른 답변 에 대한 보완으로 스트림 사본이 선호됩니다.

파일 이름을 변경하지 않고 오디오를 추출하는 명령을 오랫동안 사용해 왔는데, 파일 이름을 파일 관리자의 상황에 맞는 메뉴에 통합하기 위해 여기에 제시된 이름으로 조정할 수 있습니다.

따라서 파일 이름을 변경하지 않고 "demuxing and muxing"을 사용하려면 다음을 사용하십시오.

ffmpeg -i "$0" -map 0 -c copy "${0%%.*}".mkv

Thunar의 사용자 정의 작업 및 FileManager 작업 구성 도구 (Nautilus, Nemo, Caja, PCManFM)에 다음과 같이 추가했습니다.

sh -c 'ffmpeg -i "$0" -map 0 -c copy "${0%%.*}".mkv' %f

Thunar 및 video/mp2tFileManager 작업 에서 "* .ts"로 제한합니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.