ffmpeg:如何从 CD 中提取单个音轨?

ffmpeg:如何从 CD 中提取单个音轨?

我读过这个话题

有关如何翻录 CD 并且它运行正常。

我想提取单个音轨。我应该在以下命令中包含什么选项?

ffmpeg -f libcdio -ss 0 -i /dev/sr0 dump.flac

谢谢

答案1

我找到了一个解决方案:

使用此命令您可以查看章节详细信息

ffprobe -f libcdio -i /dev/sr0 -print_format json -show_chapters -loglevel error

输出:

{
    "chapters": [
        {
            "id": 0,
            "time_base": "1/75",
            "start": 0,
            "start_time": "0.000000",
            "end": 37108,
            "end_time": "494.773333",
            "tags": {
                "title": "track 01"
            }
        },
        {
            "id": 1,
            "time_base": "1/75",
            "start": 37108,
            "start_time": "494.773333",
            "end": 56868,
            "end_time": "758.240000",
            "tags": {
                "title": "track 02"
            }
        },

使用此命令你可以提取你想要的曲目:

对于 track01

ffmpeg -f libcdio -ss 0 -t 494.773333 -i /dev/sr0 track01.wav

对于 track02

ffmpeg -f libcdio -ss 494.773333 -t 263.466667 -i /dev/sr0 track02.wav

其中 263.466667 是轨迹 02 的结束时间与开始时间之间的差值

等等...

答案2

您可以使用偏执狂首先抓取“位完美”的各个音轨(无需转码),然后在其上运行 ffmpeg。

使用 -B 标志将为您提供名为 eg 的曲目,track01.wav以便您可以使用脚本将生成的文件批处理到 ffmpeg。

相关内容