2012-05-01 4 views
0

=== 배경 ===OGG 파일에서 초기 오프셋을 제거하는 방법은 무엇입니까?

얼마 전에 인터넷 라디오 방송국에서 많은 음악을 리핑했습니다. 불행히도 대부분의 파일 길이가 몇 시간으로 표시되기 때문에 무언가 잘못되었을 수도 있지만 올바른 위치에서 재생되기 시작했습니다.

예 : 파일의 길이가 실제로 3 분이고 3 시간으로 표시되는 경우 재생은 2 시간 57 분에 시작됩니다.

시스템을 업그레이드하기 전에 gstreamer는 이전 버전이었고 그 동작은 위에서 설명한대로 였으므로주의를 기울이지 않았습니다. 이제는 이러한 파일을 올바르게 처리 할 수없는 새로운 버전의 gstreamer가 있습니다. 전체 초기 오프셋을 "재생"합니다.

===/배경 === 그래서 여기

내 질문은 : 어떻게 쓸모 초기 오프셋을 제거하기 위해의 OGG/보비스 파일을 수정할 수는? 여러 개의 태그 편집 프로그램을 사용해 보았지만 그 중 아무 것도 내가이 값을 편집하는 것을 허용하지 않았습니다. (흥미롭게도 충분한 easytag가 두 번 표시되지만 잘못된 것을 쓰십시오 ...)

답변

0

마침내 해결책을 찾았습니다!

#!/bin/sh 

cd "${1}" 

OUTDIR="../`basename "${1}"`.new" 

IFS=" 
" 
find . -wholename '*.ogg' | while read filepath; 
do 
    # Create destination directory 
    mkdir -p "${OUTDIR}/`dirname "${filepath}"`" 

    # Convert OGG to OGG 
    avconv -i "${filepath}" -f ogg -acodec libvorbis -vn "${OUTDIR}/${filepath}" 

    # Copy tags 
    vorbiscomment -el "${filepath}" | vorbiscomment -ew "${OUTDIR}/${filepath}" 
done 

이 코드는 재귀 적으로 모든 OGG 파일 복사 모든 보비스 코멘트를 reencodes : 그것은 내가 다음 코드를 사용하여 결국 몇 가지 다른 옵션을 시도 후 ...

예상 꽤 무엇을했지만. 그것은 매우 효율적인 솔루션은 아니지만, 문제가 무엇인지

가 ... 그럼에도 불구하고 작동합니다

...
새로운 논리적 흐름 : 나는 ogginfo의 출력을 함께 할 수있는 뭔가가 생각 (# 1, 연속 : 74a4ca90) : vorbis 유형
경고 : Vorbis 스트림 1에는 올바르게 프레임 된 헤더가 없습니다. 터미널 헤더 페이지는 추가 패킷을 포함 또는 비 - 제로 granulepos을 갖는다
보비스 스트림 1 정보는 다음 ... 버전 헤더 파싱 0
업체 : Xiph.Org받는 libvorbis I 20,101,101 (Schaufenugget)
...

파일을 재 인코딩 후 사라

... 나는 현재 내 전체 미디어 라이브러리가 완전히 reencoded 될 때까지 아마 몇 시간이 걸릴 것이다 인코딩있어하는 속도에서

...하지만 적어도 내가 작동하는 몇 가지 샘플로 확인 :)

관련 문제