【发布时间】:2012-05-14 08:20:25
【问题描述】:
我想捕获视频,将其压缩并复用为 mpeg2 ts。使用 ffmpeg 库,所有这些都非常简单,但我想做的不是将其写入文件,而是在缓冲区中捕获 ts 数据包并以其他方式使用此流。有没有简单的方法来做到这一点?
现在要将编码帧写入文件,我使用 av_interleaved_write_frame(oc, &pkt)。 OC 是一个定义了文件名和格式的输出上下文。 pkt 是一个包含压缩帧的 AVPacket。 av_interlaced_write_frame 正在执行复用和写入文件。
我最终想要实现的是将相同的ts流写入多个文件,并开始和停止写入彼此独立的不同文件。为每个流启动一个新的复用器似乎效率低下,因为 TS 流不应该需要任何标题或正确的结尾才能正确播放(如果我读到的内容是正确的)
我有点迷失在 ffmpeg 代码中寻找好的例子,而且这些库没有很好的文档记录。对此主题的任何意见表示赞赏。谢谢!
【问题讨论】:
标签: ffmpeg libavformat transport-stream mux