我正在使用 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
最佳答案
我很惊讶您能够将“h263”编解码器视频强制放入 FLV 容器中。问题是 Flash Player 不支持 H.263 视频。它支持 Sorenson Spark,它是 H.263 的一种变体。改为使用“flv1”视频编解码器访问它。
顺便说一句,执行 ffmpeg -codecs | grep 263
了解存在多少 H.263 变体。
关于flash - FFmpeg 流式传输 : can't see image from h263 stream in flash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15784572/