2007
07.27
07.27
[這段程式碼僅供ActionScript 3.0與Flash Media Server參考]
要完成一個視訊的錄製,就要學會如何抓取周邊的資源來用,例如使用Webcam或是麥克風,這次來Demo如何使用在Flash中使用WebCam,下次再來說如何將影音錄製在Flash Media Server上。
要使用WebCam用的是Cemara類別,只要用get的方法就能抓取到WebCam使用,其實Flash是可以擷取多個攝影機的,不過這邊抓取一個並放置在Video身上就好了。
package {
import flash.display.Sprite;
import flash.media.Video;
import flash.media.Camera;
import flash.media.Microphone;
public class Main142webcam extends Sprite{
private var webCam:Camera;
private var micro:Microphone;
public function Main142webcam(){
webCam = Camera.getCamera();
streamVideo.attachCamera(webCam);
}}}
當擷取到攝影機時,Flash會警告使用者是否允許使用該資源,若是允許才能繼續下去,否則將不會發生任何事情。

最後由webcam擷取的影片將會交由streamVideo來進行播放的動作。

相關文章:
本文引用:
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。
文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。


老師您好:
我是您的讀者,因工作需要了解Flash Media Server,
當我裝好FMS 2.0.3版後,我不知道我該如何連線到此Server,
請您給我一些提示好嗎? 我不能直接打: "http://127.0.0.1/" 連過來看嗎!?
還有,我看了線上說明,
在fms2_console的View Applications中,
我的Application清單中都沒有東西,我該如何新增呢!?
他右邊有說要Please load an application,
但我該如何load an application呢?
我想要去New Instance也都沒反應,
請問這是什麼問題呢!?
我怎麼沒有以下這樣的畫面出現:
http://livedocs.adobe.com/fms/2/docs/00000165.html
我的需求其實很簡單:
想要架好FMS來提供視訊,讓SWF可以連過來看而已,
我該如何做呢?
如果您能回覆我的話就真的謝謝您了! ^__^
Dear Kelvin:
是Macromedia所定義的格式,若你要自己寫也是ok,像red5就是很好的例子.
在Flash Media Server中所使用的RTMP協定,是怎樣的封包格式呢?
如果我想要在嵌入式系統中(如IP CAMERA)自己撰寫符合RTMP的影像直接傳給Client端,
(不經過Flash Media Server)這樣的方式可行嗎?
找到原因了,因為遠端的目錄我設成application/aaaa/streams/stream/_definst_/放串流的地方,但我conncet到rtmp://ip/aaaa/,但我改了以後,application/aaaa/streams/_definst_/,就會有publish的flv檔,請問它在aaaa目錄下一定要streams/_definst_/嗎!?有什麼方法可以改它嗎?謝謝
Dear XYZ:
那你可能要注意是遠端的伺服器有受到防火牆的限制,若是有的話可能不是呈現live模式,而是根本就沒有錄製,基本上若是連線正常,是一定會錄製檔案的,請錄製約半分鐘以後再去看是否儲存該檔案,或是直接用console來檢測程式目前執行的狀態。
不好意思,表達不周,請見諒!
我先連結一個串流in_ns,in_ns=new NS(nc),用它取得視訊,放在video裡video.attachNetStream(in_ns),然後發佈in_ns.publish("1″, "record"),當發佈在nc.connect("rtmp://localhost/aaaa/")時,在本機電腦執行後,會在本機電腦的Application的aaaa目錄下會有1.flv的錄製檔案可以播放,但如果發佈連結在nc.connect("rtmp://遠端IP/aaaa/)"時,在本機電腦執行後,可是在遠端電腦的Application的aaaa目錄下不會有1.flv的錄製檔案可以播放,它變成live,沒有留下檔案,為什麼在遠端不會有錄製檔呢!?
Dear XYZ:
抱歉,有點越看越模糊的感覺,是否可以請你在清楚的描述問題,這樣我才能幫助你。
不好意思,我寫的不清楚,我publish完後,在FMS的Application裡不是會出現叫1的flv檔,在本機端讀取網頁時,本機的application裡就會有1.flv檔,但將網頁放在遠端,讀取遠端網頁,遠端的application裡就不會有1.flv檔,謝謝
Dear XYZ:
事實上是有的,但是要遵從 Flash Media Server 的 Application 和 Instance 的命名規則,請將檔案放在 Streams 的目錄下才可以被讀取到。
請問一下,用好WEBCAM後,我想把他記錄下來,在本機端上用串流的publish("1″,"record")後,會記錄下來,但是我將檔案放進遠端的server裡,用網路去讀取,可是為什麼沒有記錄在遠端的電腦裡!?