How to Live Stream h.264 via FME?
I would like to take advantage of benefits of H.264 for our
live event streaming. Can this be done with FME?
Is there another option to encode and stream to our CDN
server in H.264?
thanks for your help.
There is currently no way to live encode H.264 using a CDN..
since no-one has yet updated to FMS3. Then there is the issue with
the live encoder.. I'm pretty sure that Adobe is going to release a
new FME soon to support the h.264 codec
Similar Messages
-
Live streaming h.264 not showing video
I'm using FMLE 3.1 to stream live video encoded with H.264 format with FMS 3 and Flash player 10 + AS 3 to connect to the stream.
When I connect to the stream, just the audio is played. I'm able even to get the metadata information about the video, but I just receive the audio.
I already tried some stuff like
1. "Flash 10 won't play live stream H.264 after iTunes install" http://forums.adobe.com/thread/505620. I tested it in a complete different environment than mine, but the same result.
2. I've tried some format to play method, but this is just to play files
ns.play("mp4:saple.f4v");
ns.play("mp4:sample");
3. Also read "How do you watch and record a live h.264" http://www.flashcomguru.co.uk/forum/forum_posts.asp?TID=4649 , but I don't get even to play the stream at first place.
This is the code I'm using
import flash.media.Video;
var video:Video = new Video(720, 480);
var ncVideo = new NetConnection();
this.ncVideo.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus);
this.ncVideo.connect("rtmp://localhost/livecast", "user");
var customClient:Object = new Object();
customClient.onMetaData = metaDataHandler;
function onNetStatus(e:NetStatusEvent) {
if (e.info.code == "NetConnection.Connect.Success")
createNetStream();
function createNetStream(){
var ns = new NetStream(this.ncVideo);
ns.client = customClient;
ns.addEventListener(NetStatusE vent.NET_STATUS, onNsStatus);
ns.play("livestream", -1);
this.video.attachNetStream(ns) ;
this.addChild(video);
function onNsStatus(e) {
trace("onNsStatus " + e.info.code);
function metaDataHandler(infoObject:Object):void {
trace(infoObject.width + " - " + infoObject.height);
Another detail is that when I record the video to a file for instance "sample.f4v", I put this video in the FMS but when I connect to this stream I receive the "FileStructureInvalid" error message.
I went from changing the extension to .flv http://www.adobe.com/devnet/flashplayer/articles/hd_video_f lash_player_04.html to the solution to flatten the files http://www.flashcomguru.com/forum/forum_posts.asp?TID=4006 but this is not the case because I'm using FMS to stream the recorded video.Please note that this forum category is for help with the Flash Player and NOT for users seeking assistance with programming Flash and/or Flex. If you are seeking assistance with programming, click here and choose the proper category to post in.
-
How to live stream vp6 from a browser/swf file.
Hello,
Currently we have a swf file application that runs in a browser and takes the live video stream from the camera on the computer and streams a live sorenson spark stream to the fms 3.5 server.
Question is:
How to live stream vp6 from the browser/swf file on the camera computer, instead of the sorenson spark. (We seem to be stuck only on sorenson spark).
Thank you.Hi Vince,
Jay has explained it about as best as can be done. What you have now is a
SWF that lives in a browser. With Flix, you can eliminate the SWF
altogether. Or if there is logic that still will require the SWF, then both
Flix and the SWF will live in the browser at the same time (and can talk via
ExternalInterface).
fyi .. When using Flix, if Flix does not eliminate the SWF altogether, you
will remove from your SWF all logic for acquiring Camera and Microphone. As
Jay has reiterated, Flix Publisher will now be doing all that.
If your SWF includes logic other than video/audio, e.g. maybe text chat,
then you may need logic in your SSAS to associated the video from Flix with
anything else from the SWF since each will have its own NetConnection to the
FMIS application.
In case it might help, following is On2's heavily commented JavaScript for
invoking Flix Publisher:
http://publisher.on2.com/fp_doc/3-1-5-5/samples/scripts/flixpub_conf.js
And the full docs for the Flix SDK are here:
http://publisher.on2.com/fp_doc/3-1-5-5/index.html
hth,
g -
How can i stream some files via my macbook pro
how can i stream some files via my macbook pro and my WD TV LIVE
Which email client are you using & which version? Your emails are not appearing in the email trashcan?
-
Live Streaming H.264 Video on iOS using AIR
We would like to build an AIR app that plays Streaming H.264 Live/VOD videos that would work through AIR on the iOS platform.
I've seem some traffic on the forums that RTMP will work to iOS - but additionally heard that video applications that use RTMP streams will be rejected by the Apple App store.
I have seen that progressive H.264 will work - but that's not streaming or live.
HLS would work if we use the StageWebView object; however, that provides us little control/monitoring over the video inside of it; and it's not "really" integrated as a video player.
For OSMF there seems to be a 3rd-Party plugin which will allow OSMF to read HLS streams - but (from what I've heard) is incomplete because it doesn't play adaptive nor is it completely updated for OSMF 1.6.1.
I would love to be wrong here - but is there currently a way to play a Streamed H.264 Video to iOS that is non-RTMP?
I've seem little information as to if F4M streamed files played via OSMF will work on iOS.
Thanks for the info in advance.
-WillI pasted a stripped down version of my test app below, that attempts to playback an m3u8 file. This works for me on an IPad2.
Remember to test on the device itself otherwise wont work.
Dependencies:
1. Air 3.1
2. OSMF 1.6.1
3. Flex SDK 4.6.0
renderMode="direct"
HTH
- Abey
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark"
backgroundAlpha="0"
backgroundColor="#000000"
addedToStage="onViewActivate(event)"
applicationDPI="160">
<fx:Script>
<![CDATA[
private var nc:NetConnection;
private var ns:NetStream;
private var video:Video;
private var currentVidUrl:String;
protected function onViewActivate(event:Event):void
nc = new NetConnection();
nc.addEventListener(NetStatusEvent.NET_STATUS, onNetStatus, false, 0, true);
nc.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityErrorHandler, false, 0, true);
currentVidUrl = "http://fmsserver/hls-vod/sample.mp4.m3u8";
nc.connect(null);
private function onNetStatus(evt:NetStatusEvent):void
switch (evt.info.code) {
case "NetConnection.Connect.Success":
ns = new NetStream(nc);
var client:Object = {};
client.onMetaData = onMetaData;
client.onCuePoint = onCuePoint;
client.onBWDone = onBWDone();
ns.client = client;
nc.client = client;
var v:Vector.<StageVideo> = stage.stageVideos;
if (v.length >= 1) {
var stageVideo:StageVideo = v[0];
stageVideo.viewPort = new Rectangle(0, 0, mediaContainer.width, mediaContainer.height);
stageVideo.attachNetStream(ns);
else {
video = new Video();
video.width = mediaContainer.width;
video.height = mediaContainer.height;
mediaContainer.addChildAt(video,0);
video.attachNetStream(ns);
if (currentVidUrl) {
ns.play(currentVidUrl);
break;
case "NetStream.Publish.BadName":
break;
default:
break;
private function onSecurityErrorHandler(event:SecurityErrorEvent):void
protected function onMetaData(item:Object):void
protected function onCuePoint(item:Object):void
protected function onBWDone():void
]]>
</fx:Script>
<mx:UIComponent id="mediaContainer"
height="100%"
width="100%"/>
</s:Application> -
Want to watch the live concert on Itunes and I don't know where to look for it., using a pc windows version.
There is currently no way to live encode H.264 using a CDN..
since no-one has yet updated to FMS3. Then there is the issue with
the live encoder.. I'm pretty sure that Adobe is going to release a
new FME soon to support the h.264 codec -
Hi,
Going through couple of tutorials on the adobe site, i wanted
to try out how the live streaming works.
So i setup the FMS 3 on the system which also hosts my web
server (IIS).
I setup the FME 2.5 on my system(with attached web cam).
Later i started the live streaming by providing the FMS URL:
"rtmp://ip_address/live/instance1" and with stream name as
"myFirstStream".
I was able to confirm that my FMS is able to receive the
stream by verifying the FMS Admin console on the server.
Second part:
i created a "myStream.fla" having the FLV playback object on
the timeline and providing "livestream" as its instance name. i did
not provide any source/contentpath in the properties window for the
FLV playback object.
Then i created "streamaction.as" file and included that in
the action script window in timeline2-frame1 by using the following
code syntax: include "streamaction.as"
in "streamaction.as" file in included the following 3 lines
of code:
livestream.width=320;
livestream.height=240;
livesteam.load("rtmp://ip_address/live/instance1/myFirstStream",
true);
"true" in the above line indicates "isLive" value.
i created a "test.html" page in which i used the
<object> and <embed> tags to embed the "myStream.swf"
file
Issue 1: But when i opened the "test.html" in my browser, no
streaming was visible except the place holder/blank flash object in
the page, eventhough the FME and FMS are displaying the streaming
from my webcam.
i even modifed the code as follows:
livestream.width=320;
livestream.height=240;
//livesteam.load("rtmp://ip_address/live/instance1/myFirstStream",
true);
livesteam.contentpath =
"rtmp://ip_address/live/instance1/myFirstStream";
livesteam.isLive = true;
Also can anyone suggest how to access the flash variable so
that i can pass the URL value from my web page itself to the flash
object. I had come accross the following way.. could this be the
right approach (read FlashVars in the tags below)? ref:
http://www.permadi.com/tutorial/flashVars/index.html
<OBJECT
classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="
http://macromedia.com/cabs/swflash.cab#version=9,0,0,0"
ID=flaMovie WIDTH=250 HEIGHT=250>
<PARAM NAME=movie VALUE="myStream.swf">
<PARAM NAME=FlashVars
VALUE="streamName=myFirstStream">
<PARAM NAME=quality VALUE=medium>
<PARAM NAME=bgcolor VALUE=#99CC33>
<EMBED src="myStream.swf"
FlashVars="streamName=myFirstStream"
bgcolor=#99CC33 WIDTH=250 HEIGHT=250
TYPE="application/x-shockwave-flash">
</EMBED>
</OBJECT>
and in "streamaction.as" file change line 3 to:
livesteam.load("rtmp://ip_address/live/instance1/"+_root.streamName+"",
true);
will this work?
TIA,
MohithFinally figured out what was incorrect in my code. Here is
the working code (AS3):
var paramObj:Object =
LoaderInfo(this.root.loaderInfo).parameters;
myVideo.autoPlay = false;
myVideo.isLive = true;
myVideo.source = "rtmp://ip_address/live/instance1/"+
paramObj.streamName;
myVideo.autoPlay = true;
solution: isLive has to be set to true before setting the
source of the FLVcomponent -
Live Streaming video and Flex2(3?) + Flash Media Server?
I've seen alot of topic on how to create video sites for
clips, etc. with Flex and Flash Media Server, but how about live
streaming video, like a concert or a seminar. I can't find any
information on this at all, could anyone point me in the right
direction?What you need is grab video/sound form camera/mic, publish it
on FMS and let the other clients play it. In a few steps:
// get camera and mic
var cam:Camera = Camera.getCamera(); // get default camera
var mic:Microphone = Microphone.getMicrophone(); // get
default mic
// if you have VideoDisplay, for monitoring
videoDisplay.attachCamera(cam);
// create new RTMP connection to FMS/your app
var nc:NetConnection = new NetConnection();
// new stream should be create *after* nc has connected, not
before
// so this is executed after the below nc.connect() succeeds
nc.attachEventListener(Event.CONNECT, function(){
var ns:NetStream = new NetStream();
ns.attachCamera(cam);
ns.attachMicrophone(mic);
ns.publish("streamname", "live"); // or "record" if you want
to live+rec
// connect to default instance of app 'appname' on your FMS
nc.connect("rtmp://fms.ip.address/appname");
If you're using Flex2 and FMS2 (the latest FMS is 3), you
might need to
cuange the connection encoding to AMF0 (which is what FMS2
uses) in order for this to work.
Hope this helps; I've written it from my head so it probably
has mistakes, but it's the general workflow; the docs in the
language reference for specific functions mentioned here will also
help. -
I know its possible, dont give me crap.
just wondering if any of you guys know how to live stream to justin.tv
and then embed your own player but take the streaming video and make
it play on yopur website in your embedded playerCreate a folder inside application folder(the folder name becomes application name) and create a file called main.asc inside it...And write the following content in main.asc file...And it will do basic record for you..Please find related sources in help manuals...Server side action script is pretty elementary and explained in detail in help docs..Thankyou Bye.
var MAX_RECORDERS=20;
var RecorderCount=0;
application.onAppStart = function()
trace("Application name: " + application.name);
trace("Server: " + application.server);
application.s = new Array();
application.onPublish = function(clientObj, streamObj)
++RecorderCount;
if(RecorderCount > MAX_RECORDERS)
return;
trace("recording started...");
var strName = "recorded_" + streamObj.name;
var s = Stream.get(strName);
if (s == undefined )
return;
s.onStatus = function(info)
trace(info.code);
if (!s.record("record"))
s.trace("record failed.");
s.play(streamObj.name, -1, -1, true);
application.s[streamObj.name] = s;
application.onUnpublish = function(clientObj, streamObj)
--RecorderCount;
var s = application.s[streamObj.name];
if (s && s!= undefined)
s.record(false);
s.play(false);
s.flush();
Stream.destroy(s);
application.s[streamObj.name] = null; -
How do I use multiple cameras to live stream through FME?
I am looking to live stream pool tournaments from multiple angles but don't know what software or hardware I might need. Anybody have any good how to advice or links they might share? I stream through Ustream.tv if that makes a difference. Should I look for something different? Thanks
I am working on getting just the counter working by using
the program posted previously, and I am running into issues. Periodically I get
the error:
Error -200141
occurred at DAQmx Read (Counter DBL 1Chan 1Samp).vi
Possible reason(s):
Data was overwritten
before it could be read by the system.
If Data Transfer
Mechanism is Interrupts, try using DMA. Otherwise, divide the input signal
before taking the measurement.
It seems to work better if I use cascaded counters, but I need timer 0 for
analog channels when I run this code along with the program for the other
measurements.
I have tried averaging, and selecting different values for the millisecond
timer, and these did not seem to have an effect.
I tried different DAQms configurations and "Counter DBL 1Samp" seemed
to work the best.
The program will work for a while and then it will give me the above error
message.
If I use counter 0 as a cascaded counter input, the program runs fine. If I run
this with other analog channels, it errors out because the analog channels use
counter 0.
If I use counter 1 as a cascaded counter input, it seems to work better than a
single channel, but it will still error out with the above error.
If I use only counter 1, I get the error above even faster.
Also, none of the
configurations give measurements outside the While Loop.
The only place I can add a speed dial for the front panel is within the While
Loop.
Is there someway to get the signal to continuously send out of the while loop?
I thought if I could get the signal out of the while loop, I could condition it
anyway I wanted without the program erroring out.
Any suggestions would be much appreciated.
Thank you.
Attachments:
Counter_error.jpg 45 KB -
How to play live streaming video which is being streamed via http or rtsp
I am building an application which needs to display live mpeg2 video; the source of the live stream is over e network, e.g,http://xxx.xxx.xxx.xx:8080.
To see if QT had this capability, In QT for Open URL, I tried, rtsp://xxx.xxx.xxx.xx:8080 and http://xxx.xxx.xxx.xx:8080, but I am not able to see any video. (I tried setting my QT options per posts I have read)
Also, I'm able to see the live stream using Windows Media Player and VLC. (I used VLC to stream the video over the network and I tried streaming several formats but still could not see video in QT; when using rtsp, status of QT says negoiating and never transition from this state)
Any advice on this topic?
Thanks in advanceQuickTime will not play MPEG-2 content, streaming or otherwise, without the addition of the extra-cost MPEG-2 Playback Component. Even with that component, QuickTime cannot play all MPEG-2 streams. Read the FAQ carefully for details.
-
H.264 not working in Live Stream
Hi,
I have a HD Camera streaming a live feed through FME 2.5 to
FMS 3.0 using the VP6 codec and it works fine.
I have now been trying to get the same stream running via
H.264 and althogh FME 2.5 connects to the FMS 3.0 server and the
stream starts with FMS 3.0 reporting the stream no problem.
The Client application crerated with Captivate 3 using Flash
Player 9 for publishing no longer dispays the video.
Switching back to VP6 works again.
Any one have any idea what I should be doing?
CheersThanks for the quick response, I checked with our Admin guys
and it indeed 3.0.0.
So I will update immediately.
Is there a big advantage to using H.264 over VP6 for live
streaming?
I have another forum question that went unanswered relating
to this issue asking, what are the required recommended settings
for both FMS 3 and FME 2.5 to reduce any lagging in video on a 1gb
LAN which should not have any?
cheers again -
How do I create a variable video delay of a live stream...
I have a live video feed from my webcam in my Flash Application. I have a second video window next to it that I want to place a variable delayed video of the live stream. Therefore, I need to save the video stream in memory/disk and create this variable delay, say 5-60 seconds. As well as, continue to capture the live stream. The camera I am using suppots H.264 encoding.
How do I create a variable length queue or buffer to hold the video stream coming into the flash application. Do I create a memory variable or write this to disk ? I have been looking over the ActionScript 3.0 documentation and I can not figure out how to code this either way ( as a memory variable or write to disk queue ).
I want to be able to change the delay, view the delay stream in slow motion and scrub through the delayed stream.
I would like to do this with out having to use Flash Media Server.
Thanks,
BobI am sure it is practically impossible to accomplish that on the client side. Although theoretically it is conceivable to use NetStream.appendBytes() but it requires an extremely complex implementation.
I suggest you look into FMS DVR capacities:
http://help.adobe.com/en_US/flashmediaserver/devguide/WS236AE81A-5319-4327-9E44-310A93CA09 C6Dev.html -
How to play live streaming in windows phone 8.1 silverlight app?
Hi,
I am developing a windows phone 8.1 silverlight app. In my I want to show live streaming youtube channel , I think it is not possible,
Actually that youtube channel is a television channel , I want to stream that live tv in my app.(I tried to load youtube channel in webbrowser in iframe tag but it is not opening)
Anybody help me how to play live tv or live streaming in my app,
Thanks..
Suresh.MHello,
You will likely need to write a custom
MediaStreamSource that can access the media stream and parse it. Windows Phone supports h.264 natively and as long as the site serves up a media stream that contains h.264 frames you can parse it and have our built in decoder decode and display it. You
will need to have intimate knowledge of the streaming protocol used by the website that you are trying to play. You must also make sure that the website is not using protected content. IANAL so I would recommend that you have your local law professional
(lawyer) review the licensing of the website that you are attempting to connect to and stream from before continuing your development. Your lawyer can make sure make sure their licensing allows you to do this.
I hope this helps,
James
Windows SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/ -
How to understand live stream is online
Hi,
First sorry about my english, i search my problem, but i couldnt find my answer,
We have more then 80 live stream videos. More than 20 PC with capture cards, send cam streams to FSM with FME,
Problems,
PC can crush, capture card can crush, fme can crush, camera connection can crush,
so with below code, i can unterstand if FMS server is alive, "NetConnection.Connect.Success"
but is my stream alive? How i can understand "1test1" is alive,
for example i can unterstand with onMetaData info, if there is no meta info, no stream,
but i am a noob, what is the true way to understand live stream is alive, meta info isn't true way i think
i change var videoURL:String ="1test1" to a false value
but no error i get, it never says "NetStream.Play.StreamNotFound":
my goal is, i will make a web page, it will find all livestreams from xml, and cheack them, so systemadmin will see problem easly,
last question, if there is a camera problem, livestream gives a blank black screen, can i understand automaticly this screen
var videoURL:String ="1test1"
var nc:NetConnection = new NetConnection();
nc.client = this;
nc.connect("rtmp://myFMS/live/");
nc.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
function netStatusHandler(event:NetStatusEvent):void{
trace(" trace netStatusHandler: " +event.info.code);
switch (event.info.code)
case "NetConnection.Connect.Success":
connectStream();
break;
case "NetStream.Play.StreamNotFound":
trace("Stream not found: " + videoURL);
break;
function connectStream():void
var vid:Video = new Video(640,480);
var ns:NetStream = new NetStream(nc);
ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
var meta:Object = new Object();
meta.onMetaData = function(info:Object){
trace("metadata: duration=" + info.duration + " width=" + info.width + " height=" + info.height + " framerate=" + info.framerate)}
ns.client = meta;
addChild(vid);
vid.attachNetStream(ns);
ns.play(videoURL);thanks, now i am able to understand what's your requirement.
first you create a sample live chat application. just for testing purpose.
1- create video object.;
2- create camera object;
3- attache camera object to video object;
4- create a button and register a event and listener function write below code.
5- download adobe.image.PNGEncoder class
hope, you can capture photo from video object into you testing application
package
import com.adobe.image.PNGEncoder;
import flash.display.Sprite;
import flash.display.DisplayObject;
import flash.events.*;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.media.Video;
import flash.media.Camera;
import flash.geom.*;
import flash.net.FileReference;
import flash.utils.ByteArray;
public class SavePng extends Sprite
private var cam:Camera;
private var video:Video;
private var ab:FileReference;
public function SavePng()
cam = Camera.getCamera();
cam.setMode(800,600,25);
cam.setQuality(0, 90);
video = new Video(1024,768);
video .smoothing=true;
video.attachCamera(cam);
addChild(video);
btn.addEventListener(MouseEvent.CLICK,saveImage);
ab=new FileReference();
private function saveImage(evt:MouseEvent):void
var count:int = 0;
var scaleW:Number = .5;
var scaleH:Number = .5;
var m:Matrix = new Matrix();
m.scale(scaleW,scaleH);
var bmd:BitmapData = new BitmapData(320,240,true);
bmd.draw(video);
var img:Bitmap=new Bitmap(bmd);
img.x=250;
img.y=200;
addChild(img);
var ba:ByteArray = PNGEncoder.encode(bmd);
ab.save(ba,"sushil.png")
Maybe you are looking for
-
CQ 5 Tag Search with German special characters
Hi all, I configured CQ 5.5. to do search on a set of custom tags that I created for documents. I did that by adding some new tags in /etc/tags/custom and adding this path in /apps/dam/content/search/searchpanel/facets/tagoptions. I noted that search
-
New Depreciation Area after go-live
Hi Gurus We are on ECC 6.0 in a production environment having gone live in April 2008. We had gone live with only Depreciation Area 01. Other depreciation areas were de-activated. We have a requirement now to create a new depreciation area 15 for Inc
-
Recover some files from a Time Machine backup
My 2008 iMac bit the dust but I did consistently back up using Time Machine to an external drive. I plan on replacing it but need to get some files off the backup soon. Is it possible to connect my external backup drive to a friends iMac and copy jus
-
I forgot my password to log into my MacBoook Air
I forgot my password to log into my MacBoook Air, using OSX 10. Rats. I was told that I can reset the password by opening and using password utility from OSX recovery and that there is an article on Apple support that will tell me how. I looked and c
-
I wasn't getting any emails. Tried logging into Mozilla account but forgot password and answer to question to reset password. Called my internet provider who reset my password. They told me to contact Mozilla and let them know that I've changed it. I