2012-05-01 48 views
0

===背景===如何从OGG文件中剥离初始偏移量?

前段时间我从互联网广播电台里扯了很多音乐。不幸的是有些东西似乎出了问题,因为大多数文件的长度显示为几个小时,但他们开始播放正确的位置。

示例:如果文件真的是3分钟长,并且显示为3小时,则播放将在2小时57分钟时开始。

在我升级我的系统之前,gstreamer是在旧版本,其行为将如上所述,所以我没有太多的关注。现在我有一个新版本的gstreamer,它无法正确处理这些文件:它“播放”整个初始偏移量。

=== /背景===

因此,这里是我的问题:这怎么可能修改顺序的OGG/Vorbis格式文件,以摆脱无用的初始偏移?尽管我尝试了几个标签编辑程序,但它们都不允许我编辑这些值。 (有趣的是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文件,然后复制所有Vorbis注释。这不是一个非常有效的解决方案,但它工作仍然...

的问题是什么:我想这事做与ogginfo输出:

...
新的逻辑流(#1,序列号:74a4ca90):类型vorbis
警告:Vorbis数据流1没有正确的帧头。终端头页包含额外的分组或具有非零granulepos
Vorbis格式解析为流1,信息如下... 版标头:0
卖方:Xiph.Org libVorbis我20101101(Schaufenugget)
...

重新编码后的文件会消失......

在在此我目前编码它可能会需要几个小时,直到我的整个媒体库将被完全重新编码率......但至少我验证了它的作品:)

相关问题