我想将任何类型的视频文件转换为 ISO 映像,然后刻录到 DVD(在另一台计算机上) - 以便最终的光盘可以在普通 DVD 播放器上播放。
我已经ffmpeg
安装了 medibuntu,并且 mpeg 输出支持似乎可以工作。
是否有一个命令行工具或者一个简单的脚本可以用来执行此操作?
答案1
您需要特定的 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 这样的工具。它可能有一些前端,但书中的第一个示例,第一章 第二节,可能对您来说就足够了。将该示例放入文件dvdauthor.xml
和视频中video.mpg
并执行dvdauthor -o DVD -x dvdauthor.xml
。
这将在 DVD 文件夹下产生一个目录结构,您可以使用 将其转换为 iso 文件genisoimage -dvd-video -o my.iso -v DVD
。然后,您可以将 my.iso 复制到其他系统,并使用wodim
或其他工具将其刻录到光盘上。
生成的光盘应该可以在独立播放器中播放,但由于 DVD 的限制,您可能会遇到任意 mpeg 流的问题。其中一些问题可能可以通过dvdauthor
和mplex
软件包中的来修复mjpegtools
。如果您想要字幕,您需要学习如何使用spumux
。
答案2
@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
):
- dvd创作者
- ffmpeg
- 沃迪姆
- 基尼索夫
2. 将您的视频文件转换为正确的格式。
(使用 ffmpeg 版本 2.8.15-0 和 4.2.2-1ubuntu1 测试)
这取决于您购买 DVD 播放器的地区。
- 国家电视系统委员会用户:
ffmpeg -i yourvideo.mp4 -target ntsc-dvd yourvideo.mpg
- 朋友用户:
ffmpeg -i yourvideo.mp4 -target pal-dvd yourvideo.mpg
- 东南大学用户:可能不受支持,请参阅-ffmpeg 文档中的目标
3. 使用 dvdauthor 创建 dvd 文件系统
(使用 dvdauthor 0.7.0 和 0.7.2 测试)
首次设置:
video_format
创建一个名为的文件~/.config/
。
该文件只需包含一行:
- NTSC 用户:
NTSC
- PAL 用户:
PAL
- SECAM 用户:
SECAM
?我无法确认这一点。
创建 DVD 的文件系统:
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 测试)
您可能需要进行更改/dev/sr0/
以匹配您的 DVD 刻录机的设备名称。
sudo wodim -tao speed=2 dev=/dev/sr0 -v -data yourvideo.iso