avconv로 오디오 파일을 자르는 방법은 무엇입니까?

avconv로 오디오 파일을 자르는 방법은 무엇입니까?

. avconv​내가 사용하는 명령은 다음과 같습니다.

avconv -ss 52:13:49 -t 01:13:52 -i RR119Accessibility.wav RR119Accessibility-2.wav 

하지만 작동하지 않습니다. 결과적으로 전체 파일을 얻습니다. 음, 거의 전체 파일입니다. 어떻게 든 결과 파일 1:16:31에는 1:17:23. 또한 나는 이 명령을 가능한 모든 방법으로 실행했다고 믿습니다. with -ss-tafter -i, -t끝점 지정, mp3 파일, 오디오 코덱 지정, ffmpeg. 내가 잘못하고 있는 걸까?

UPD이 작업 덕분에 bodhi.zazen(에서 보고한 오프셋과 지속 시간을 수정했는데 mp3splt-gtk어떤 이유로든 잘못되었으며 목표는 mp3 파일을 자르는 것이었습니다)

avconv -i RR119Accessibility.mp3 -ss 00:52:08 -t 00:01:08 RR119Accessibility-2.mp3

하지만 그렇지 않습니다:

avconv -ss 00:52:08 -t 00:01:08 -i RR119Accessibility.mp3 RR119Accessibility-2.mp3

결과 파일은 00:52:08에서 시작하여 원본 파일의 끝까지 이어집니다. 이전에 지정된 경우 입력 파일과 관련이 있다고 -ss생각 했습니다 . 그렇지 않으면 파일을 출력합니다. 누군가 이것을 설명해 줄 수 있습니까?-t-i

답변1

원래 문제는 타임 스탬프 형식에 있었던 것 같습니다.

형식은 HH:MM:SS입니다.

옵션 순서에 대한 귀하의 질문을 이해하고 있는지 잘 모르겠습니다. -i 뒤에 입력 파일 이름이 오고 -ss HH:MM:SS 뒤에 -t HH:MM:SS가 오는 한 그것이 중요하지 않다고 생각합니다.

-ss HH:MM:SS는 시작점이고 -t HH:MM:SS는 기간입니다.

따라서 -ss 00:01:00 -t 00:05:00은 1분 표시에서 시작하여 5분 동안 실행됩니다.

내 시스템에서는 ffmpeg를 사용하면 순서가 중요하지 않습니다(-ss 뒤에 기간(-t)이 오는 한 순서에 관계없이 시간이나 입력 파일을 지정할 수 있습니다).

답변2

문제는 -ss명령줄의 위치에 따라 의미가 다르기 때문에 발생합니다. 그것은 avconv여전히 ​​프로젝트의 일부였던 시절부터 이어져 왔으며 ffmpeg최신 버전에서 수정되고 있다고 생각합니다.

옛날에는 이런 말을 하면

 ffmpeg -ss 5 -i input

당신이 의미하는 바는 "파일의 5초 표시로 건너뛰고 거기에서 읽기 시작한다"는 것입니다.

하지만 당신이 말했다면

ffmpeg -i input -ss 5

"입력 파일을 열고 5초 표시까지 모든 데이터를 건너뜁니다"를 의미했습니다.

아시다시피 첫 번째 접근 방식은 파일을 읽지 않고 건너뛰기 때문에 실제로 꽤 자주 실패합니다. 타임스탬프가 있는 파일에서만 잘 작동하므로 프레임을 읽고 이미 너무 멀리 갔는지 여부를 알 수 있습니다.

기본적으로 ffmpeg에서 작동하는 방식은 "첫 번째 초까지 비트 전송률을 추측하고 다른 모든 초는 동일하다고 가정합니다"였습니다. 그러나 물론 모든 초가 동일하지는 않으며 52시간의 "드리프트"에 대해 이야기하는 경우 오류가 상당히 클 수 있습니다.

따라서 avconv의 초기 분할 후 버전을 사용하는 경우 항상 -ss읽고 있는 파일 뒤에 넣어야 합니다. 그러나 (내가 아는 한) 최신 버전에서는 이 버그가 수정되었습니다.

답변3

노력하다:

avconv -i RR119Accessibility.wav -ss 52:13:49 -t 01:13:52 RR119Accessibility-2.wav

ffmpeg 및 avconv의 옵션은 위치를 구분합니다.

귀하의 예에서 ffmpeg는 파일 읽기를 시작하고 timestamp -ss에서 출력을 시작합니다
(ffmpeg는 내 시스템에서 잘 작동하고 avconv는 그렇지 않습니다. 이를 일종의 회귀라고 부릅니다).

여기에 제시된 예에서 avconv(또는 해당 문제에 대한 ffmpeg)는 먼저 올바른 오프셋을 찾은 다음 읽기 및 출력을 시작합니다. 이것은 둘 다에 적용됩니다.

avconv에 대한 추가 문서는 다음에서 찾을 수 있습니다.http://libav.org 이 사람들은 ffmpeg를 분기했으며 Ubuntu의 매우 오래된 ffmpeg 버전도 담당하고 있습니다.

REAL ffmpeg는 우분투 저장소가 아니라 PPA에 있습니다.
ppa:존-세버린슨/ffmpeg
ffmpeg에 대한 추가 문서는 다음에서 찾을 수 있습니다.http://ffmpeg.org

오래된 매뉴얼 페이지를 고려하십시오.

관련 정보