Open Source program for converting wave files for RTMP streaming - streaming

Can anyone suggest any open source linux program for converting .wav files to flash format for RTMP streaming? Does RTMP support any format other than flash?

Flash Media Server supports three audio formats for streaming: Nellymoser, MP3, and ACC. You also can play MP3 files directly from the Flash Player view HTTP download, you don't really need to use RTMP (which is more advantageous for video due to higher bitrate).
Here's a good article on streaming audio with FMS:
http://www.adobe.com/devnet/flashmediaserver/articles/beginner_audio_fms3.html
For conversion, you can use ffmpeg.
http://fosswire.com/post/2007/11/using-ffmpeg-to-convert-to-mp3/

You can stream via the CRTMP server to flash clients. VLC can play RTMP streams.

Related

icecast + Adobe Flash Media Live Encoder

So I am working with a community TV channel to stream their TV station in Audio only formate. I know that they currently use Adobe Flash Media Live Encoder to send a WebTV stream to a provider. What we are discussing is creating an Icecast stream of their TV broadcast.
I am wondering is there a way to take Adobe Flash Media Live Encoder stream and read metadata and send all that to an Icecast stream either using FFMPEG or other technologies?
It is possible to have FFmpeg act as an RTMP server which you could connect your encoder to:
ffmpeg -listen 1 rtmp://127.0.0.1:1935 …
However, I think you'll find it would be better to use FFmpeg in parallel, encoding from the same source. I'm going to guess that you're not using MPEG-4 and AAC audio on your Icecast stream, so it would be better to encode from the source rather than to transcode already lossy audio/video.
As for metadata, depending on your media format, you'll have to handle that out-of-band with a separate script.

How do I publish a video compressed with h265?

I set up a nginx server and I can broadcast using rtmp. I do this by compressing it with h264, but I also need to compress it with h265. rtmp and flv do not support h265.
as a result can you offer me a server and protocol to use h265? get open source if possible.
edit:
okey should not explain the problem a little more. I can send a video to my nginx server with a client and watch this video in hls and dash.
But what I have to do is compress this video with a h265 applet with a converter like ffmpeg and then watch it or send it to another client. I couldn't find anything other than rtmp to send and receive videos.
MP4 and MKV both support H.265 video streams.
You can use DASH or HLS to stream your MP4 segments.

how to stream high quality video and audio from iPhone to remote server through Internet

I am seeking the following three items, which I cannot find on STACKOVERFLOW or anywhere:
sample code for AVFoundation capturing to file chunks (~10seconds) that are ready for compression?
sample code for compressing the video and audio for transmisison across the Internet?
ffmpeg?
sample code for HTTP Live Streaming sending files from iPhone to Internet server?
My goal is to use the iPhone as a high quality AV camcorder that streams to a remote server.
If the intervening data rate bogs down, files should buffer at the iPhone.
thanks.
You can use AVAssetWriter to encode a MP4 file of your desired length. The AV media will be encoded into the container in H264/AAC. You could then simply upload this to a remote server. If you wanted you could segment the video for HLS streaming, but keep in mind that HLS is designed as a server->client streaming protocol. There is no notion of push as far as I know. You would have to create a custom server to accept pushing of segmented video streams (which does not really make a lot of sense given the way HLS is designed. See the RFC Draft. A better approach might be to simply upload the MP4(s) via a TCP socket and have your server segment the video for streaming to client viewers. This could be easily done with FFmpeg either on the command line, or via a custom program.
I also wanted to add that if you try and stream 720p video over a cellular connection your app will more then likely get rejected for excessive data use.
Capture Video and Audio using AVFouncation. You can specify the Audio and Video codecs to kCMVideoCodecType_H264 and kAudioFormatMPEG4AAC, Frame sizes, Frame rates in AVCaptureformatDescription. It will give you Compressed H264 video and AAC aduio.
Encapsulate this and transmit to server using any RTP servers like Live555 Media.

Streaming video, cloud servers, and videojs

I'm interested in setting up a streaming video server (perhaps on a cloudfront server) with videojs. I understand that flash video can be streamed, however, is it possible to stream video using videojs and a different codec? (like h246). I tried looking through the videojs documentation and forums but did not find any additional info.
Video.js has limited support for RTMP streaming in Flash, but hopefully more in the next few months.
HTTP Live Streaming (HLS) is the most supported streaming format for HTML5 (iOS, Safari, latest Android). Video.js can support that on the devices that support HLS natively.
I think you would have to transcode the h264 file on the fly to get the effect you want. Subsonic is a program which will read your file structure, display your videos and music in a webui, transcode the audio/video and stream it--but it uses jwplayer, not videojs.
However, it is opensource, so if you want to try to modify that, I'm sure it would be possible.

Can we stream only flash videos throught RTMP?

I am planning to use Red5 streaming server. The documentation says it uses only RTMP - I am confused if I can stream media in formats other than flash.
Is it possible to stream MP4 / RM / AVI files through RTMP - or rather Red5 ?
Thanks !
Please take a look at the red5 google site, from there you can learn, that Red5
is able to stream not only over RTMP
but also RTMPT, RTMPS, and RTMPE
protocols, and
can stream not only FLV but also F4V,
MP4, 3GP, MP3, F4A, M4A and AAC media
formats.
For RM and AVI you must use a converter to create the appropriate streamable formats. The best way in my opinion to do so is using ffmpeg.
If you need to convert media on the fly, you can use ffmpeg from your java classes. It's easy and offers a large list of parameters 'guaranteeing' that you'll get what you need.