Coverting Encrypted HLS to MP4 clear - mp4

Can anyone advise on how to construct an MP4 file from an HLS stream encrypted with Playready (the reverse of what you usually do)? I have the m3u8 a and encryption key - is there a straightforward way of getting a single MP4 using FFMPEG or some other tool?

Unified Streaming offer a solution with one of their tools:
http://docs.unified-streaming.com/documentation/capture/usage.html#decrypt
FFMPEG may offer a solution as well, but this is what we use. (I don't work for Unified Streaming)

Related

Uploading & Storing audio files

We are in the stage of designing our audio application, and we need to support uploading audio files from desktop applications to a cloud server, and also playing those audio files in the desktop applications.
How should we process the file before uploading? should be turn them into base 64 thus increasing their size by ~ 30%?
Or should we upload it as a raw binary file?
What about the different audio formats, should we transcode it in the client / server into mp3 or something like that?
Does anybody know what is the SoundCloud approach in this case?
Thank you!
SoundCloud stores the original file, and it transcodes the original for streaming purposes. The original can be downloaded if the owner makes that option available.
If you use HTTP to communicate with your server you'll need to encode with Base64. If you choose the right framework, this should be easy and possibly transparent to you.

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.

http live streaming for mp3 files

I need help in converting mp3 files to Apples Http Live Streaming protocol files. I am working on a music application and wants to use Live streaming in this app.
I got this link http://www.ioncannon.net/programming/452/iphone-http-streaming-with-ffmpeg-and-an-open-source-segmenter/ from google but it contains how to live stream video files.
Can anybody help me with mp3 files.
Thanks
With ffmpeg you're also able to convert mp3-files only (no video).
Just use:
ffmpeg -i yourmp3.mp3 ...your arguments... output.mp3
To add to Tim's answer, HLS supports mp3 codec. So if your audio is already in mp3, all you would need is the segmenter

Playing .flv files on iphone

I have a webservice returning .flv file, it has to be played in iphone application, how do i play a .flv (flash file) in iphone?
Does anyone has faced this scenario? Programmatically is it possible to convert to some format and play in iphone?
Thanks.
IPhone doesn't and judging by the Apple official statements won't ever (or at least in the forseeable future) support flash content.
Converting the content to another format on the server side should be easy to do and would allow content playback on an iDevice.
SInce the video is probably already h.264 encoded inside the FLV container, you may want to try FLV Extract on the server to avoid recompression:
http://www.videohelp.com/tools/FLV_Extract
Basically you just need to run it once for each of the videos on the server and keep the results around.
I would recommend setting up your webservice to use something like ffmpeg ( http://www.ffmpeg.org/ ) to convert the .flv file to an mp4 file which can be played directly from the iPhone's web browser.
Pioto and Josaih are on the right track in suggesting that you should convert the video server-side using a tool like FFMpeg. As far as I know there is zero support for flv in any part of iOS, so you'd be unable to transcode it locally. Even if you could, it would make your users angry, since transcoding is a resource-intensive process that would kill their battery life and take a significant amount of time.
So, your solution is to transcode your videos to h.264 server-side. However, I'd caution against transcoding from flv->h.264 if there are any other options available. If you have the original, uncompressed (or at least less-compressed) source video available, you'll get higher-quality video by transcoding that to h.264. Each time lossy compression (eg, squeeze or h.264) is used on a file, you lose some information and quality. If you've ever seen a 3rd or 4th generation copy of a VHS tape, you can understand what I'm getting at.
Once you have a h.264 formatted video, you can play it on iOS. Not sure about the exact details of this.
You may be able to use ffmpeg or something on your server to transcode it to H.264. I'm not so sure you would really want to do that transcoding on the phone. Given Apple's current stance on Flash, this is probably your best option.
For FLV files, what I do is I upload them on Google Drive and watch them from Google Drive app.

live streaming in iPhone

Will the ALAC format support live streaming in iPhone ? the ALAC audio recording format is streamed to Server machine? so will i be able to play the audio chunk data, does ALAC format support?
Thank You.
Assuming you mean "Apple Lossless" audio...
I don't see why it wouldn't, but I don't know the details. You'll probably need to embed it in a transport stream instead of a MPEG 4 container (but then, I don't know how the HTTP live streaming works either).
I don't think streaming lossless audio is sensible, though.
Streaming lossless audio is possible, we have flac streaming using icecast and it works beautifully. However, we are not using HTTP Live Stream (HLS) to do it. We stream flac from the source generator to a number of servers and they create HLS's from there.
It is technically possible to mux alac into mpegts (ffmpeg can do this) as well as play it back (using ffmpeg), but there isn't a format identifier for other clients. Adding this feature to HLS will be as easy as calling/writing Apple and asking them to add ALAC to this list:
http://www.smpte-ra.org/mpegreg/mpegreg.html
and update their products accordingly. If you've purchased an Apple product less than 90 days ago, or you have AppleCare: give them a call. They have to work on the issue for you if you are covered. The more requests that get elevated to their engineers, the more likely they are to add support for alac in HLS.