我正在尝试在FFmpeg下为DVD编写一个demuxer。我明白我需要完成以下内容:
./ffmpeg -i foo.iso foo.mkv
我被告知使用libdvdread从翻录文件中提取内容。我应该如何从分离器开始?我很无能,我无法找到有关使用libdvdread
的任何文档。如果有人能够解释如何将音频,视频和字幕流发送到各自的解码器,那就太棒了。
答案 0 :(得分:0)
关于解复用器,您无需担心将数据包发送到各自的解码器本身,ffmpeg会为您解决这个问题。你需要做的是在你的read_header函数中正确地声明dvd上每个流的编解码器/格式(毫无疑问,需要在libdvdread中调用一些初始化来查找dvd上的主要功能,或让你的demuxer采取一些参数作为从哪个功能/章节开始读取,然后每次调用read_packet时,您可以提供单个数据包(例如一些字幕,一些音频,一些使用libdvdread读取的视频)以及它对应的流和ffmpeg处理它从那里。