actionscript-3 – 如何在NetStream中打开和关闭H264?
请使用以下代码:
m_h264Settings = new H264VideoStreamSettings(); <some configuration in between> m_ns.videoStreamSettings = m_h264Settings; 什么是切换m_ns的videoStreamSettings是否仍在使用H264的好方法? 我尝试在NetStreams(http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.html)的主要文档中查找属性videoStreamSettings,Adobe显然跳过了那个小细节.我知道如何在应用程序的整个执行过程中有效地控制NetStream是使用H264还是“默认”,但我希望能够不断点击按钮使其来回切换,而无需更换NetStream或做任何事情别的疯了. 这怎么做得好?谢谢! 解决方法
阅读你的问题似乎有一些问题你的问题加上一点澄清会有所帮助所以我会做一些假设来尝试回答:
问题1:
默认情况下,您是指使用On2 VP6视频编解码器,因此发布为FLV格式而不是F4V? 我假设您的查询与正在播放已发布流的连接应用程序有关?显然,您可以使用变量来跟踪您在录制应用程序本身中应用于流的设置. 我将假设您有一个单独的应用程序正在摄取已发布的流,并且您只是尝试确定是使用H264而不是On2 VP6来发布流.首先文件类型不同,一个是FLV,一个是F4V.其次,您可以在发布时利用为流分配元数据: protected function sendMetadata():void { var metaData:Object = new Object(); metaData.codec = stream.videoStreamSettings.codec; metaData.profile = m_h264Settings.profile; metaData.level = m_h264Settings.level; metaData.hasMetadata = true; stream.send("@setDataFrame","onMetaData",metaData); } 在回放应用程序中,您可以使用onMetaData()回调来获取所需的信息: public function onMetaData(infoObject:Object):void {} 问题2:
我建议重新连接例程切换您的设置以取消发布现有流并重新连接相机并发布具有不同视频设置的新流.这将保持流的完整性,说实话,不发布和重新发布流并不像你说的那么疯狂. 如果您必须沿着切换设置的路线走下去,那么我上面假设您声明为默认设置将阻止更改已发布流的文件格式. 我个人不会使用相同的编解码器并应用不同的 这是完全未经测试的,但您可以创建相机实例,应用您的videoStreamSettings,将相机附加到您的流实例,然后发布.虽然它是发布以切换设置,但您可以从网络流中分离您的相机实例: stream.attachCamera(null); 然后只需创建一个新的摄像头实例,应用新的videoStreamSettings,最后将其附加到已发布的流. 我通常在收到状态事件“NetStream.Publish.Start”时发送元数据.只要流正在发布,您就必须对此进行修改并在每次将摄像机重新连接到流时重新发送.我不知道这会带来什么影响,但是你的连接播放器应该有希望收到有关元数据更改的回调. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – Ruby on Rails有什么类似的MAMP吗?
- ruby-on-rails – 在Rails中,如果只有响应主体变化,我应该创
- vue 中动态绑定class 和 style的方法代码详解
- swift - 3D 视图
- ruby-on-rails – 在特定时间调用模型方法(Ruby on Rails)
- 利用st_geometry进行图形叠加分析
- ruby-on-rails – 使用Rspec的Factory Girl
- 【就你不知道-Flex 自定义事件-龙骑士之死】(2012-05-25 0
- c# – 使用LINQ with CancellationToken的正确方法
- foreach循环不循环遍历列表中的所有项 – C#