我正在尝试将章节添加到包含vorbis音频的ogg文件中。
从this link我复制了以下ffmpeg命令。
RefCell
我的metadata_OGG.txt文件如下所示。
ffmpeg -threads auto -y -i in.ogg -i metadata_OGG.txt -map_metadata 1 -codec copy out_METADATA.ogg
我收到以下错误。
CHAPTER00=00:00:00.000
CHAPTER00NAME=Chapter 01
CHAPTER01=00:00:05.000
CHAPTER01NAME=Chapter 02
CHAPTER02=00:00:10.000
CHAPTER02NAME=Chapter 03
但如果我将[ogg @ 00000000006d6900] Unsupported codec id in stream 0
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
更改为-codec copy
,则ffmpeg中没有错误,但文本文件会转换为视频。即输出文件将具有静态视频帧,其中包含metadata_OGG.txt文本。另外,我在转换过程中会看到以下日志消息。
-acodec copy
有人请告诉我这里出了什么问题吗?
另外,我想知道将章节添加到ogg的正确方法是什么。我也搜索了一些工具。我没有得到任何。
答案 0 :(得分:0)
我发现了这个问题。
要使ffmpeg正常工作,元数据文件应具有以下标题。
2015-05-02 22:54:00.000
我按照ffmpeg documentation for metadata中给出的步骤进行了操作。
但问题尚未完全解决。
通过上述步骤,我可以将元数据添加到mp4,mkv和其他容器文件,但不能添加到ogg文件。我不确定ffmpeg是否支持将章节添加到ogg文件。
答案 1 :(得分:0)
以下是使用 ffmpeg
4.3.1 对我有用的方法。
我有一个元数据文件,它几乎尊重ffmpeg
's metadata file format:
;FFMETADATA1
title=Evolution theory
[CHAPTER]
TIMEBASE=1/1000
START=0
END=
title=Darwin's point of view
[CHAPTER]
TIMEBASE=1/1000
START=78880
END=
title=Genghis Khan's children
请注意,文件格式需要 END
时间,但在我的情况下将其留空并没有影响。
现在我将章节信息添加到我的 opus/ogg 文件中:
ffmpeg -i darwin.opus.ogg -i darwin_chapters.txt -map_metadata 1 -c copy darwin_withchapters.opus.ogg
注意:如果您想覆盖文件中现有的章节信息,您可能需要在上面的 -map_chapters 1
命令行中添加一个 ffmpeg
参数。
这将创建文件 darwin_withchapters.opus.ogg
。我检查章节信息是否真的被添加到文件中:
opusinfo darwin_withchapters.opus.ogg
您可以将 ogginfo
用于 Ogg/Vorbis 文件。
这是结果(我删除了一些不相关的行):
ENCODER=opusenc from opus-tools 0.1.10
ENCODER_OPTIONS=--bitrate 112
title=Evolution theory
CHAPTER000=00:00:00.000
CHAPTER000NAME=Darwin's point of view
CHAPTER001=00:01:19.880
CHAPTER001NAME=Genghis Khan's children
[...]
给你。 ffmpeg
将其元数据文件格式转换为 the vorbis tag/comment chapter format。
您也可以直接在 Vorbis Chapter Extension format 中写入元数据,并使用经典的 vorbiscomment
工具或其他允许编辑 opus/ogg 文件内标签的工具。