通过命令行将DVD制作成镜像文件

我想将一个任意类型的视频文件转换成ISO镜像,然后将其刻录到DVD上(在另一台电脑上),以便最终的光盘可以在普通的DVD播放器上播放。
我已经安装了带有medibuntu的ffmpeg,并且MPEG输出支持似乎是有效的。
是否有一个命令行工具或简单的脚本可以用来完成这个任务?
2个回答

你需要特定的mpeg2输出(如果不介意分辨率损失,也可以使用mpeg1,但mpeg4超出规范)。你可能想要PAL 720x576 25fps 16:9,带有MPEG-1或AC3音频;或者对于NTSC来说是720x480和23.97fps(或其他)。然而,你可以使用"dvd"目标预设来简化操作,只需运行ffmpeg -i input.avi -target dvd video.mpg 要将mpeg文件转换为DVD兼容的文件夹结构,你需要像dvdauthor这样的工具。可能有一些前端工具可用,但书中的第一个例子chapter 1.2可能已经足够了。将该示例放入文件dvdauthor.xml中,将你的视频放入video.mpg并执行dvdauthor -o DVD -x dvdauthor.xml
这将导致在DVD文件夹下生成一个目录结构,您可以使用genisoimage -dvd-video -o my.iso -v DVD将其转换为ISO文件。然后,您可以将my.iso复制到其他系统,并使用wodim或其他工具刻录到光盘上。
生成的光盘应该可以在独立播放器中播放,但由于DVD的限制,您可能会遇到任意MPEG流的问题。其中一些问题可以通过dvdauthor修复,其他问题可以通过来自mjpegtools软件包的mplex解决。如果您想要字幕,您需要学习如何使用spumux

谢谢!这些规格应该足够让我开始了。我会研究所需的ffmpeg选项,并尝试看看是否有效。 - Ilari Kajaste

@taneli的回答涵盖了大部分过程,但还有一些细节遗漏。这是我将MP4文件转换并写入DVD的完整过程。
我通常只使用MP4文件,但我认为这个过程适用于大多数视频格式作为输入(只要ffmpeg支持)。我已在NTSC DVD播放器上进行了测试。
(在Lubuntu 16.04 LTS、Ubuntu Mate 18.04和Ubuntu Mate 20.04,AMD64上进行了测试)

1. 安装以下软件包(使用sudo apt-get install):

  • dvdauthor
  • ffmpeg
  • wodim
  • mkisofs

2. 将您的视频文件转换为正确的格式。

(使用ffmpeg版本2.8.15-0和4.2.2-1ubuntu1进行测试)

这取决于您购买DVD播放器的地区。

3. 使用dvdauthor创建DVD文件系统

(已测试使用dvdauthor 0.7.0和0.7.2)

首次设置:

(来源)

~/.config/目录下创建一个名为video_format的文件。

该文件只需要包含一行内容:

NTSC用户:NTSC PAL用户:PAL SECAM用户:SECAM?我无法确认。
创建DVD文件系统: (source)
dvdauthor --title -o yourvideo -f yourvideo.mpg
dvdauthor -o yourvideo -T

这些命令将把DVD的文件系统写入一个名为"yourvideo"的文件夹。
4. 创建iso
(使用mkisofs 1.11.11进行测试)
此命令将获取yourvideo文件夹的内容并将其转换为iso格式。
mkisofs -dvd-video -o yourvideo.iso yourvideo/
5. 将iso刻录到空白DVD
(使用Wodim 1.1.11进行测试) (source) 您可能需要更改/dev/sr0/以匹配您的DVD刻录机设备名称。
sudo wodim -tao speed=2 dev=/dev/sr0 -v -data yourvideo.iso

这个方法不起作用。在终端中输入"dvdauthor --title -o yourvideo -f yourvideo.mpg",会导致无数个"WARN: unknown mpeg2 aspect ratio 1"的警告行。 - Henrik R.
@HenrikR. 你使用的是什么视频格式?PAL、NTSC还是SECAM? - jrh
PAL。这个命令:“$ ffmpeg -i "Apollo - Farsight.org.mp4" -target pal-dvd apollo.mpg" - Henrik R.
@HenrikR. 好的,我今晚回家后会调查一下;虽然我没有PAL设备进行测试,但至少我可以检查到制作ISO的那一步。 - jrh
谢谢!我期待着您的回音。我应该尝试将上述ffmpeg命令的输出发送给您吗? - Henrik R.
@HenrikR。如果我无法重现它,我可以在我电脑上的一个MP4文件上进行测试,然后我们再继续讨论。 - jrh
@HenrikR. 嗯...我似乎无法在An Eastern Westerner(注意:公共领域视频)中复现这个问题,我在dvdauthor或ffmpeg中没有收到任何错误或警告。也许尝试使用不同的视频,或者我们可能正在使用不同版本的ffmpeg、dvdauthor等软件。 - jrh
嗯...就是这个视频我想要刻录到DVD上。:-) 我已经把ffmpeg和dvdauthor的终端输出放在这里:https://www.transformation.dk/deling/ffmpeg-error.txt 你能看到有什么奇怪的地方吗? - Henrik R.
最后,http://www.bombono.org/Download完成了任务!:-) 起初我似乎无法安装它,但现在它运行得很顺利! - Henrik R.