avi
다음과 같이 파일을 분할 하려고 합니다 .
avconv -i file.avi -vcodec copy -acodec copy -ss 0 -t 10 out.avi
이것이 트릭입니다(비디오의 처음 10초 동안 청크를 생성합니다).
문제는 영상의 10초부터 20초까지를 분할하고 싶을 때 입니다.
avconv -i file.avi -vcodec copy -acodec copy -ss 10 -t 10 out.avi
결과 비디오에는 처음 2초 동안만 소리가 들립니다.
나는 그것을 순환한다. 마찬가지로, 20-30.avi, 30-40.avi... 청크도 제대로 청크되지 않았으며 처음부터 길이가 다른 사운드만 포함하고 있습니다.
avi 비디오를 올바르게 청크하는 방법을 알고 있습니까?
답변1
많은 비디오 코덱은 두 가지 또는 세 가지 방법으로 비디오 프레임을 인코딩합니다.I-프레임, P-프레임 및 B-프레임. 즉, I 프레임만이 비디오의 시작점 역할을 할 만큼 충분한 데이터를 보유할 수 있습니다. 의 경우 -vcodec copy
소프트웨어는 프레임 복사만 수행합니다. 따라서 블록이 I 프레임에서 시작될 때 컷이 발생하면 제대로 재생되지 않습니다.
따라서 비디오를 다시 인코딩할 수 없습니다. 일부 GUI 소프트웨어(예: avidemux)는 이 작업을 "현명하게" 수행합니다. 즉, 사용 가능한 첫 번째 I-프레임까지 블록의 시작 부분만 다시 인코딩한 다음 나머지를 복사합니다.