0

我正在使用 FFmpeg 将我的桌面实时 rtmp 流式传输到 Wowza。如果我在 h264 或 flashsv2 编解码器中发布流,一切正常,但我也需要 h263 支持。问题是,如果我的流的编解码器是 H263,我在 Flash 中看不到流中的图像!我捕获了 NetStream.Play.Start 事件,甚至获取了视频的元数据,但我的 Video 对象中没有显示图像。当我尝试使用以下命令对其进行流式传输时,h264 也存在同样的问题:

ffmpeg -f dshow -i video=UScreenCapture -vcodec h264 -f flv rtmp://[adr]/desc

选择 yuv420p 像素格式修复了这个错误。因此,使用以下命令进行流式传输,在 Flash 中以正确的方式显示:

ffmpeg -f dshow -i video=UScreenCapture -vcodec h264 -pix_fmt yuv420p -f flv rtmp://[adr]/desc

但是当我尝试以这种方式解决 h263 的问题时,什么也没有发生:闪存中仍然没有图像。我必须做些什么来修复这个错误?

这是我的 h263 命令:

ffmpeg -f dshow -i video=UScreenCapture -vcodec h263 -pix_fmt yuv420p -s 352x288 -f flv rtmp://[adr]/desc
4

1 回答 1

1

我很惊讶您能够将“h263”编解码器视频强制放入 FLV 容器中。问题是 Flash Player 不支持 H.263 视频。它支持 Sorenson Spark,它是 H.263 的一种变体。改为使用“flv1”视频编解码器访问它。

顺便说一句,执行ffmpeg -codecs | grep 263以了解存在多少 H.263 变体。

于 2013-04-05T05:55:20.290 回答