使用ffmpeg编写DVD解复用器

时间:2014-10-31 06:10:04

标签: c ffmpeg

我正在尝试在FFmpeg下为DVD编写一个demuxer。我明白我需要完成以下内容:

./ffmpeg -i foo.iso foo.mkv

我被告知使用libdvdread从翻录文件中提取内容。我应该如何从分离器开始?我很无能,我无法找到有关使用libdvdread的任何文档。如果有人能够解释如何将音频,视频和字幕流发送到各自的解码器,那就太棒了。

1 个答案:

答案 0 :(得分:0)

关于解复用器,您无需担心将数据包发送到各自的解码器本身,ffmpeg会为您解决这个问题。你需要做的是在你的read_header函数中正确地声明dvd上每个流的编解码器/格式(毫无疑问,需要在libdvdread中调用一些初始化来查找dvd上的主要功能,或让你的demuxer采取一些参数作为从哪个功能/章节开始读取,然后每次调用read_packet时,您可以提供单个数据包(例如一些字幕,一些音频,一些使用libdvdread读取的视频)以及它对应的流和ffmpeg处理它从那里。