0

=== 背景 ===

少し前に、インターネット ラジオ局からたくさんの音楽をリッピングしました。残念ながら、ほとんどのファイルの長さは数時間と表示されるため、何かがうまくいかなかったようですが、正しい位置で再生を開始しました。

例: ファイルの長さが実際には 3 分で、3 時間と表示される場合、再生は 2 時間 57 分から開始されます。

システムをアップグレードする前は、gstreamer は古いバージョンであり、その動作は上記のとおりだったので、あまり注意を払っていませんでした。現在、これらのファイルを正しく処理できない新しいバージョンの gstreamer があります。初期オフセット全体を「再生」します。

=== /背景 ===

ここに私の質問があります: 役に立たない初期オフセットを取り除くために OGG/Vorbis ファイルを変更するにはどうすればよいですか? いくつかのタグ編集プログラムを試しましたが、これらの値を編集できるものはありませんでした。(興味深いことに、easytag は両方の時間を表示しますが、間違ったものを書きます...)

4

1 に答える 1

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ファイルを再帰的に再エンコードしてから、すべてのvorbisコメントをコピーします。これはあまり効率的なソリューションではありませんが、それでも機能します...

問題は何でしたか:私はそれがの出力と関係があると思いますogginfo

...
新しい論理ストリーム(#1、シリアル:74a4ca90):タイプvorbis
警告:Vorbisストリーム1には、ヘッダーが正しくフレーム化されていません。ターミナルヘッダーページに追加のパケットが含まれているか、ストリーム1に対して解析されたゼロ以外のgranulepos
Vorbisヘッダーがあります...バージョン:0
ベンダー:Xiph.Org libVorbis I 20101101(Schaufenugget)
.. ..

ファイルを再エンコードすると消えます...

私が現在エンコードしている速度では、メディアライブラリ全体が完全に再エンコードされるまで、おそらく数時間かかるでしょう...しかし、少なくともいくつかのサンプルで、それが機能することを確認しました:)

于 2012-05-17T20:56:55.147 に答える