是否自动将 .dvdmedia(VOB)转换为 Plex 可以在 Mac 上处理的格式?

是否自动将 .dvdmedia(VOB)转换为 Plex 可以在 Mac 上处理的格式?

Plex 给我留下了深刻的印象,我想将所有旧的 DVD 媒体文件转换为它能理解的格式。我有不少这样的文件(DVD 库被翻录成 iTunes 的产物),我想保留尽可能多的信息。

具体来说,我希望将视频、所有音轨、所有字幕轨和章节逐字复制到 mp4/mkv/其他文件中,以便 Plex 可以接管并发挥其魔力。

我试过了

ffmpeg -i "concat:$(shell-fu)" -map 0:a -map 0:v -map 0:s -c copy ~/Downloads/test.mp4

shell-fu一个简单的 bash for 循环输出VTS_0_1.vob|…。这很容易出错,而且很难自动化,因为我需要手动检查最大的 vob 是什么,并做一些魔术来得到所有的 vob,但我可以想象编写脚本的方法。更大的问题是我经常遇到错误由于包含字幕。

我愿意尝试所有可以在 Mac 上运行的选项,只要它们是完全自动化的。我有足够的空间,所以我不太担心,但如果有人能告诉我如何默认只包含英文字幕和音频,我会加分,除非英文音频或字幕不是一种选择。

答案1

让 Plex 将各个章节作为一系列的不同情节来处理,并规划您的命名。

如果音频或字幕给您带来问题,那么我建议您只重新编码这些流。我对此了解不多,无法提供任何具体建议。

请记住,视频通常是最昂贵的部分,因此请考虑复制它。

奖励:对于音频语言和字幕偏好,我认为一个简单的 if/else 语句应该可以起作用。

ffmpeg-i 视频

根据流解析输出,并采用某种逻辑查找“(eng)”或文件中使用的任何变体。如果存在英语流,则默认为每个流的零索引(这不清楚,复制所有流还是仅复制一个)。

我不认为我会给你灵丹妙药,但如果你可以详细说明你所看到的错误并解释“最大的 vob 是什么并做一些魔法”我会编辑这个并希望能够给你更具体的东西。

干杯

答案2

尝试https://github.com/donmelton/video_transcoding具体来说,例如:

#!/bin/bash
MOVIEPATH="/Volumes/Movies"
OUTPUTPATH="/Volumes/Transcoded Movies"

find -s $MOVIEPATH -maxdepth 1 -type d -name '*.dvdmedia' | while read file; do

    # file: /Volumes/Movies/2001 A Space Odyssey.dvdmedia
    # filename: 2001 A Space Odyssey.dvdmedia
    # basename: 2001 A Space Odyssey

    filename=`basename "$file"`
    basename=${filename%.*}
    echo -n "$basename: "

    if [ ! -d "$file/VIDEO_TS" ] ; then
            echo "$basename does not look like a dvdmedia folder"
    fi

    transcode-video -q -o "${OUTPUTPATH}"/"${basename}".mkv "${MOVIEPATH}"/"${filename}"

done
exit 0

这将使用默认的转码设置转换“电影”目录中的所有 dvdmedia 文件。

相关内容