programmatically stream audio with NetStream - apache-flex

In Flex you can stream microphone audio to an FMS/Red5 server using NetStream.attachAudio, which requires a Microphone object. Is it possible to stream audio through the NetStream from somewhere other than a Microphone? For example, from a file/embedded resource?
The reason I'm asking is that I'd like to be able to run automated tests that don't require using an actual microphone.

Well, it looks like this isn't possible. My workaround is to use SoundFlower to route audio file playback (invoked outside of Flash) into a virtual microphone, which Flash then streams to the media server. From Flash's point of view, its just as if you were manually speaking into the mic.

Related

How to stream video from my server to client browser using DirectShow?

I'm developing an ASP.NET application that's required to stream on-demand videos from server to client. Now I consider using DirectShow to do some kind of processing works before the video is transmitted over Internet. Following this article, I know I can transfer video stream over network through WMAsfWriter after it's processed by DirectShow and the output is a URL that the client can get access to through Windows Media player. But in my ASP.NET application, I want the video stream played on the web page of the client browser such as Chrome. I'm not sure if the output URL can be parsed by client browser and the video stream can be played there directly, so I want to ask that is it possible? If not, what extra steps do I need to take to achieve my goal?
I think you can made WebRTC streamer DirectShow filter and open this stream in browser. Ways like WMP / VLC player require ActiveX, that, really, dead technology now. Even Microsoft Edge do not support it anymore. WebRTC most common way today. Web version of Skype and a lot of other apps use it.

Creating http video stream using libVLC

I have a video that I want to broadcast on a network using the http protocol.
I know libVLC can do that but I haven't been able to know how. I checked the doxygen documentation, but this hasn't helped me. Can you help me please ?
Thanks
Libvlc is the library to develop the application. vlc player is the client AND SERVER application to do that. If you just need to stream, use vlc media player as a server. You can find the command line / GUI steps if you google "vlc how to stream".
Basically in the file open dialog you get the option to configure either to load a stream from another source or local file OR RUN your own application as a streaming server.
The play button at the bottom of open dialog has a small button on the right to selec "stream" instead of play. But you need to have configured all options correctly to setup the type of stream you are looking for.
Lastly, you can run another instance of vlc as client to test your stream locally.

Stream music or audio files via Skype

I want to stream music or audio files via Skype to another person via internet. I'm using debian squeeze. My idea: open the audio in stream for microphones etc. and adding the audio file to the stream. I don't want to use a audio in-out bridge, but a software solution. Are there any similar project? How can I manipulate the audio-in stream?
Linrad is your best bet.
The Linux sound system ALSA has a mechanism by which the output of one program can be sent to the input of another program.
http://www.sm5bsz.com/linuxdsp/install/snd-aloop.htm

video server supporting Http

I want to setup a video on demand server which support Http protocol. It is like Youtube, which hosts a lot of videos, and end users could play them from browser (by using Flash or Html 5).
Two quick questions,
For the big video files, shall I put them on disk or in memory? How Youtube or other big video site did it? Not sure if put all video in memory is too expensive, and put video on disk is too slow?
Is there any open source video hosting server for my purpose? If steaming is supported, it will be great.
thanks in advance,
George
If you just want to have an HTML page that links to your video files - no problem, but most browsers will download the entire file before you system even considers playing it.
If you want to stream the files (like YouTube and others do) then you aren't actually using HTTP for the video itself. HTTP is used to get the information about the stream so your player can stream and play directly without having to download the entire file first.
Streaming video uses RTSP (or some other streaming protocol) for the audio and video data.
The closest HTTP protocol can get to "streaming" video is to use Server-Push of individual image frame with each frame flagged to replace the previous frame. Not all browsers can handle this directly, but might need an ActiveX control or Java Applet. The original QuickTime did this before the streaming protocols were implemented at the servers.
re: how does YouTube deal with big video file
I suspect they are on disk until they are needed. Moved into memory only as needed. Flushed from memory when no longer needed.
re: is there an open source video server for my purpose
YES! Check out http://www.videolan.org/
-Jesse
another approach is to use HTTP Live Streaming - HLS - the web server is simply a standard httpd server - video/audio is preprocessed on server side into a set of bitrate playlists.
The logic is on the client side to retrieve the media as a series of 6 second files, based on bandwidth appropriate playlist.
So :
- use files not memory
- there are open source HLS segmentators (ffmpeg)

How to do sound recording through a web?

Then save it at server side,is it possible?
Flash applications can do this, if the user allows them to use the microphone.
You need to use some client technology which can communicate with client hardware(mic), like flash/java(java-i am not that much sure).On the server side you need to implement something like media/streaming server which can record/stream/save client streams.
I done this task using flash on client side and red5 on server side.
I would use a Java applet. The advantage is that you don't have to use any special server-side software like Flash Media Server or Red5. You can process the recorded sound using a simple PHP script - the applet can send a WAV file to the script using the HTTP protocol (something that Flash cannot do, as Adobe wants you to purchase their Flash Media Server).

Resources