gpt4 book ai didi

apache-flex - 使用 MP4 编码在 Flash 中流式传输网络摄像头视频

转载 作者:行者123 更新时间:2023-11-28 21:42:42 25 4
gpt4 key购买 nike

我正在开发的 Flash 应用程序的功能之一是能够将网络摄像头流式传输给其他人。我们只是使用 Flash 中的内置网络摄像头支持并通过 FMS 发送它。

有些人要求我们提供更高质量的视频,但我们已经在 Flash 中使用了我们可以使用的最高质量设置(将质量设置为 100%)。

我的理解是,在较新的 Flash 播放器中,他们为视频添加了对 MPEG-4 编码的支持。我创建了一个简单的测试 Flex 应用程序来尝试比较 MP4 与 FLV 编码的视频质量。但是,我似乎根本无法让 MP4 工作。

根据Flex documentation要使用 MP4 而不是 FLV,我唯一需要做的就是在调用发布时将“mp4:”添加到流的名称中:

Specify the stream name as a string with the prefix mp4: with or without the filename extension. The prefix indicates to the server that the file contains H.264-encoded video and AAC-encoded audio within the MPEG-4 Part 14 container format.

当我尝试这个时,没有任何反应。我没有在客户端收到任何事件,没有抛出异常,并且我在服务器端的日志记录没有显示任何流开始。

相关代码如下:

// These are all defined and created within the class.
private var nc:NetConnection;
private var sharing:Boolean;
private var pubStream:NetStream;
private var format:String;
private var streamName:String;
private var camera:Camera;

// called when the user clicks the start button
private function startSharing():void {
if (!nc.connected) {
return;
}

if (sharing) { return; }

if(pubStream == null) {
pubStream = new NetStream(nc);
pubStream.attachCamera(camera);
}
startPublish();

sharing = true;
}

private function startPublish():void {
var name:String;

if (this.format == "mp4") {
name = "mp4:" + streamName;
} else {
name = streamName;
}

//pubStream.publish(name, "live");
pubStream.publish(name, "record");
}

最佳答案

了解您正在运行的 FMS 版本会有所帮助吗?看来您至少需要 FMS 3.0.2。

关于apache-flex - 使用 MP4 编码在 Flash 中流式传输网络摄像头视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/583306/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com