【发布时间】:2012-04-22 13:09:51
【问题描述】:
我正在尝试对媒体文件进行编码以用于 HTTP 实时流式传输,但到目前为止运气不佳。当我使用 ICodec.ID.CODEC_ID_MPEG2TS 或 ICodec.ID.CODEC_ID_MPEG4 编码流编码但我使用 Apple 的验证工具时出现错误:
错误:(-12971) MPEG2 解析器损坏流(程序 1,轨道 257) 错误:(-12971) 未能将分段解析为 MPEG-2 TS 或 ES
如果我将它们保存为 .mp4 而不是 .ts,那么它们会在 Quicktime 中播放(但不是 .ts)
如果我使用 ICodec.ID.CODEC_ID_H264,我会在编码时收到以下错误:
java.lang.RuntimeException: 无法打开流 com.xuggle.xuggler.IStream@-397916640[index:0;id:1;streamcoder:com.xuggle.xuggler.IStreamCoder@-397916528[codec=com.xuggle.xuggler.ICodec@-397916032[type=CODEC_TYPE_VIDEO;id =CODEC_ID_H264;名称=libx264;];时间 基数=1/25;帧率=0/0;像素 type=YUV420P;width=640;height=360;];framerate:0/0;timebase:1/90000;direction:OUTBOUND;]: 不允许操作
我对编码器有以下设置:
coderSettings.width = 640;
coderSettings.height = 360;
coderSettings.bitRate = 700000;
coderSettings.codec = ICodec.ID.CODEC_ID_H264;
coderSettings.globalQuality = 75;
coderSettings.sampleRate = 22050;
我只是想知道我是否做错了什么。我不太了解视频编码,所以可能只是在尝试编码为 H264 时忘记了一个简单的选项。
【问题讨论】:
标签: video-processing video-encoding http-live-streaming xuggle