ffmpeg - 我不能在 ffmpeg 中使用 AV_CODEC_ID_MPEG2TS

标签 ffmpeg mpeg2-ts

我想使用 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”?

最佳答案

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

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

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

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

看这里:ffmpeg doxygen

关于ffmpeg - 我不能在 ffmpeg 中使用 AV_CODEC_ID_MPEG2TS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16899589/

相关文章:

ffmpeg - 在单个命令中缩放和覆盖

video - 如何使用 ffmpeg 从多个视频中提取视频?

ffmpeg - 从视频中提取音频幅度

linux - linux下MPEG-TS分析和ETR 101 290监控软件

ffmpeg - 如何在不编码的情况下更改 MPEG2-ts?

ios - HTML5 和 MP4 与 M2TS 容器

youtube - 视频门户是否支持mpeg2-ts容器格式

animation - ffmpeg 动态缩小视频(向后挤压)或缩小到小于原始视频

java - 如何在我的maven项目中导入FFMPEG库?

video - ffmpeg 将视频和 srt 与多行结合起来?