首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在空气中将视频录制到本地磁盘上?

如何在空气中将视频录制到本地磁盘上?
EN

Stack Overflow用户
提问于 2010-01-21 21:31:54
回答 5查看 9K关注 0票数 8

我试图记录一个摄像头的视频和音频到一个FLV文件存储在用户的本地硬盘。我有一个使用NetConnection和NetStream将视频通过网络传输到FMS (Red5)服务器的代码版本,但是我希望能够在本地存储视频,以适应低带宽/片状网络的情况。我使用的是FLex 3.2和Air1.5,所以我不认为应该有任何沙箱限制来防止这种情况发生。

我见过的东西:

  • FileStream -允许reading.writing本地文件,但不允许创建FLV的.attachCamera和.attachAudio方法。
  • 萤光记录器 -产生屏幕抓取从网络凸轮和创建它自己的flv文件。不支持音频。许可证禁止商业使用。
  • SimpleFLVWriter.as -类似于没有wierd许可证的flvrecorder。不支持音频。
  • 这个堆叠溢出柱 -它演示了使用NetConnection/NetStream从本地磁盘播放视频。

考虑到我已经有了一个使用NetStream流到服务器的版本,我认为最后一个版本是最有希望的,并将这个演示应用程序组装在一起。该代码编译和运行没有错误,但我没有一个FLV文件的磁盘上的停止按钮被点击。-

代码语言:javascript
复制
<mx:Script>
    <![CDATA[

        private var _diskStream:NetStream;
        private var _diskConn:NetConnection;
        private var _camera:Camera;
        private var _mic:Microphone; 

        public function cmdStart_Click():void {
            _camera = Camera.getCamera();
            _camera.setQuality(144000, 85);
            _camera.setMode(320, 240, 15);
            _camera.setKeyFrameInterval(60);

            _mic = Microphone.getMicrophone();

            videoDisplay.attachCamera(_camera);

            _diskConn = new NetConnection();
            _diskConn.connect(null);

            _diskStream = new NetStream(_diskConn);
            _diskStream.client = this;
            _diskStream.attachCamera(_camera);
            _diskStream.attachAudio(_mic);
            _diskStream.publish("file://c:/test.flv", "record");

        }

        public function cmdStop_Click() {
            _diskStream.close();
            videoDisplay.close();
        }

    ]]>
</mx:Script>    
    <mx:VideoDisplay x="10" y="10" width="320" height="240" id="videoDisplay" />
    <mx:Button x="10" y="258" label="Start" click="cmdStart_Click()" id="cmdStart"/>
    <mx:Button x="73" y="258" label="Stop" id="cmdStop" click="cmdStop_Click()"/>

</mx:WindowedApplication>

在我看来,上面的代码可能有问题,阻碍了它的工作,或者NetStream不能被滥用在这个录制视频的过程中。

我想知道的是,( a)上面的代码有什么问题(如果有的话)?( b)如果NetStream不支持磁盘记录,是否还有其他选择可以将音频和视频捕获到用户本地硬盘上的文件中?

提前感谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-01-17 05:26:07

如果不使用诸如WindowsMedia编码器、Red5或Adobe的媒体服务器等流媒体服务,就不可能将视频直接流到本地磁盘。

我已经在互联网上试过所有的样本,至今还没有解决方案。

请查看此链接,以获得另一种可能性:

http://www.zeropointnine.com/blog/updated-flv-encoder-alchem/

票数 2
EN

Stack Overflow用户

发布于 2012-01-12 17:47:45

我的解决方案是将Red5嵌入空气中。和你分享我的文章

http://mydevrecords.blogspot.com/2012/01/local-recording-in-adobe-air-using-red5.html

通常,解决方案是像资产一样将免费的媒体服务器Red5嵌入AIR中。因此,服务器将出现在AIR应用程序文件夹中。然后,通过NativeProcess,您可以运行Red5并将其实例保存在内存中。因此,您可以在没有任何网络问题的情况下进行本地视频录制。

票数 2
EN

Stack Overflow用户

发布于 2010-03-12 17:33:48

我也在尝试做同样的事情,但是avchat.net的开发人员告诉我,现在不可能用空气来做这件事。如果你知道怎么做的话,我很想知道!

我还找到了这个链接,不确定它对http://www.zeropointnine.com/blog/webcam-dvr-for-apollo/有多大帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2113080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档