How to "stream an mp4 as an .m3u8" from Ant Media Server? - ant-media-server

Using Ant Media Server, I have an mp4 that I would like to stream as an .m3u8 stream via HTTP. Is this possible?
I can't use the FlowPlayer/HTML (which works). I need a native HTTP URL that contains the stream with an extension .m3u8

You can publish your file with RTMP to Ant Media Server. Then you can access m3u8 file from ams_url//streams/.m3u8
Let say you work on local host and use LiveApp as application and steam id be test then you can accsess:
http://localhost:5080/LiveApp/streams/test.m3u8
Also check documentation:
http://docs.antmedia.io/en/latest/Streaming-Protocols.html#hls

Related

VOD not playing after s3 recording enabled in Ant Media server

I have enabled s3 recording in application settings on dashboard but when trying to play VOD from dashboard it gives error "The media could not be loaded, either because the server or network failed or because the format is not supported."
Problem:
This error generally comes when HTTP forwarding is not configured on Ant Media Server for S3 Recording.
HTTP forwarding is implemented to forward incoming HTTP requests to any other place. It's generally used for forwarding incoming request to a storage like S3.
Solution:
Here's how HTTP forwarding can be configured on Ant Media Server:
Open the file {AMS-DIR} / webapps / {APPLICATION} / WEB-INF / red5-web.properties with your text editor.
Add settings.httpforwarding.extension=mp4 to the file.
Add the base URL with settings.httpforwarding.baseURL=https://{YOUR_DOMAIN} for forwarding. Please replace {YOUR_DOMAIN} with your own URL. Please pay attention that there is no leading or trailing white spaces.
e.g.,
If you are using AWS S3 bucket, {YOUR_DOMAIN} will be like:
{s3BucketName}.s3.{awsLocation}.amazonaws.com
If you are using Digital Ocean Spaces, {YOUR_DOMAIN} will be like:
{BucketName}.{BucketLocation}.digitaloceanspaces.com
Save the file and restart the Ant Media Server with sudo service antmedia restart
If it's configured properly, your incoming MP4 requests such as https://{SERVER_DOMAIN}:5443/{APPLICATION_NAME}/streams/vod.mp4 will be forwarded to https://{YOUR_DOMAIN_HERE}/streams/vod.mp4
antmedia.io

Create m3u8 and stream from server

How can I create m3u8 file with using ffmpeg on a server (Convert Server) and send it to another server (Storage Server) and stream from there(Live Stream)?
I want to handle it with asp.net.
How can I do it?
HTTP Live Streaming (HLS) can be easily produced by ffmpeg (official documentation on HLS muxer):
ffmpeg -i input.mp4 out.m3u8
It is possible to specify another live streaming server as output (instead of m3u8 file), see https://trac.ffmpeg.org/wiki/StreamingGuide for more details on this.
From ASP.NET you can execute ffmpeg with System.Diagnostics.Process.

How do I access these xml files from some other machine?

I need to access the cubes through olap4j API in java application. XML cubes files will be available in some other IP server. For Example, XML files will be in 192.168.1.1 IP and C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\geomondrian\WEB-INF\queries path. How do I access these xml files from some other machine.
Class.forName("mondrian.olap4j.MondrianOlap4jDriver");
// Create connection.
connection =
DriverManager.getConnection("jdbc:mondrian:Jdbc=jdbc:postgresql://192.168.1.33:5433/simple_geofoodmart?user=postgres&password=postgres;**Catalog=E:/xml/simple_foodMart.xml**;JdbcDrivers=org.postgresql.Driver;");
OlapConnection olapConnection =
((OlapWrapper) connection).unwrap(OlapConnection.class);
I am not able to access the catalog which is available in other IP. find the below my catalog URL path. How can i access?
Catalog=//192.168.1.10/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%207.0/webapps/geomondrian/WEB-INF/queries/simple_foodMart.xml
Mondrian uses Apache VFS to fetch the catalog from the provided URL. You have a lot of options. The catalog could be on the local file system, or it could even be on an HTTP server, in which case you pass the web URL of your catalog directly.
It also supports much more complex scenarios. Apache VFS allows you to define any type of file handler you need. You could, for example, create a handler which responds to requests in the "bacon://" protocol and generate the catalog dynamically.

How to capture video from Youtube using HTTP Proxy?

I have tested a scenario here a proxy sits between the server and client while browsing youtube videos.
I am sniffing the HTTP traffic, and observe that at least a bunch of SWF files (content-type:Content-Type: application/x-shockwave-flash) are being received. I am able to store these files on the disk as well.
Now, I am trying to playback these files, but it is not a single file. Not sure why and how youtube server is sending these multiple files.
Questions:
1. How can we interpret these files at the Proxy itself before they reach the Flash player in the browser.
2. How can we process these files (e.g. transcode) at the proxy and then send them to the client.
3. Are these files independent pieces of informations that Flash player need or these are chunked by the youtube server?
Thanks.

Which protocol is used downloading files from Rapid share Http or FTP?

When i Download something from any File Sharing web Site ( Rapid share, FileSonic etc) then at first the browser connects to them with Http , but when the actual file download is happening does the underlying protocol changes to FTP?
the download protocol is still HTTP (at least with Rapidshare).

Resources