0

我想使用 ffmpeg 将 yuv 原始视频文件转换为 ts 流视频文件。所以我在我的代码中这样做:

avcodec_find_encoder(AV_CODEC_ID_MPEG2TS);

但是当我运行它时,它会发生:

[NULL @ 0x8832020] No codec provided to avcodec_open2()

我把“AV_CODEC_ID_MPEG2TS”改成“AV_CODEC_ID_MPEG2VIDEO”,效果很好,生成的mpg文件也运行良好。所以我想问为什么我不能使用“AV_CODEC_ID_MPEG2TS”?

4

1 回答 1

-1

我也在寻找使用 ffmpeg 流式传输文件,所以我不确定,但这是我所理解的......

Mpeg TS(Transport Stream)不是编解码器,它是一种封装方法,所以你必须用一些代码对流进行编码(我不确定你是否可以选择任何编解码器)然后你可以用 mpeg ts 封装它之前通过网络传输。

如果您不需要通过网络传输流,则可能不需要 mpeg ts。

我希望这会有所帮助......!

看这里:ffmpeg doxygen

于 2013-07-08T09:02:02.007 回答