VOD via HDS/HLS
Hi,
I just want be sure:
Does installing Apachie + File Packager and HTTP Origin Module is enought for vod hls/hds, or do I have to install FMS also ?
Thanks,
Alon
For HDS-VOD yes.. But as rejemy said- installing apache 4.5 new modules "mod_hlshttp" "mod_jithttp" saves you on prepackaing the content respectively for HLS VOD and HDS VOD delivery. But these modules are not separtely available. You may get them installed under apache only after installing FMS and use them with full functionality only with valid FMS license.
In case you have FMS license, and your own apache installation you may follow this article for installing these and using these module
http://knowfms.wordpress.com/2011/09/29/how-to-set-up-your-external-apache-for-hds-and-hls /
Similar Messages
-
Hello, I've searched over internet and found couple sources that claim that livepkgr is working only on a main (default) vHost and cannot be extended (or namespaced) to other vhosts. In other words, the webroot dir is a singleton service living in a global namespace and to namespace HDS/HLS streams you'd need to namespace them by name inside FMLE. Is that all correct? Thanks.
I really dont know why that should be the case. If you can create vhosts and can connect to any of signed applications which you are allowed to like "live" and "vod" - livepkgr is not different. Petro if you can explain me your use case may be i can help you better.
-
Deliver HTTP ABR HDS+HLS Streams via Player Object to All Devices
I have been unable to successfully establish a single video player object (similar to when delivering single-bitrate streams via FLVPlayback component with Flash Pro) that will automatically detect the browser type and automatically deliver the appropriate .f4m or .m3u8 manifest when broadcasting using HTTP adaptive bitrate streaming with FMLE3 and AMS5.
I have both the HDS and HLS streaming working separately--the AMS5 sample videoPlayer.html file will accept and play video content when fed the URL: http://csitsfms.sys.oakland.edu/mbrBlack.f4m; however, I have not had success in getting any .f4m streams initiated in any other fashion.
Also, HLS streaming is verified to be working on: http://csitsfms.sys.oakland.edu/mbrBlack.m3u8 when using an option such as VLC Player's File -> Open Network Stream command.
The end desired result is that a user will navigate to a particular URL and the browser autodetects whether to deliver the .f4m or the m3u8 manifest and initiate the appropriate stream to a single video playback object.
We've had FMS up and running since v3.5; however, have just recently upgraded to AMS5.0.x and would like to enable adaptive bitrate streaming to all devices; we have no problem with single-bitrate streaming to Flash-enabled devices.
I have also tried using the sample videoPlayer.html page's auto-generated code, dropping that onto an otherwise empty HTML document; however, Error 2048 was returned instead of a valid stream. Using a similar process with the OSMF generator, the error standard error, "We are having problems with playback. We apologize for the inconvenience."
It may be noted that we have SWFVerification enabled for our domain, in case this is what may be impeding our efforts.take a look at this links
http://www.adobe.com/devnet/adobe-media-server/articles/beginning-fms45-pt01.html
i think you are not calling the video properly in the HTTP URL.
http://csitsfms.sys.oakland.edu/mbrBlack.f4m willnot work. If you are using the AMS videoplayer.html use the embeded code and paste it in a html file.
http://domain.com/hds-vod/filename.f4m WILL NOT WORK . This will only display the content of the f4m file. -
External HDS/HLS storage: Invoking files stored on an external drive.
Followed the following article to add an external drive to store our vod streams (article is no longer available):
http://help.adobe.com/en_US/flashmediaserver/devguide/WS0432746db30523c21e63e3d12eea2a8fc0 -8000.html#WS0432746db30523c21e63e3d12eea2a8fc0-7ffd
FMS 4.5 Streaming HDS from non default location
Connected an external hard drive to the server with the following folders on it (vod2 > media), so the path is: G:\vod2\media. New video files are inside the last folder (media).
1. Modified: rootinstall/conf/fms.ini: added a new parameter for HTTP and RTMP streaming: VOD_COMMON_DIR_2 = G:\vod2\media
2. Modified: rootinstall/applications/vod/Application.xml: Added <StreamManager><VirtualDirectory><Streams>/vod2;${VOD_COMMON_DIR_2}</Streams>
3. Modified HLS and HDS content storage in httpd.conf (copied and pasted under original settings): The location names are /hls-vod2 and /hds-vod2, correct?
<Location /hls-vod2>
HLSHttpStreamingEnabled true
HLSMediaFileDuration 8000
HttpStreamingContentPath "G:\vod2\media"
</Location>
<Location /hds-vod2>
HttpStreamingJITPEnabled true
HttpStreamingContentPath "G:\vod2\media"
HttpStreamingJITConfAllowed true
JitFmsDirPath ".."
Options -Indexes FollowSymLinks
</Location>
If all of the above modifications are correct, what is the correct url to invoke the hds streams stored on this external drive through rtmp? The original instructions were not consistently clear about this. I have a file called 1.Test.mov in that folder. I've tried:
rtmp://localhost/hds-vod2/mp4:1.Test.mov
rtmp://localhost/hds-vod2/1.Test.mov
rtmp://localhost/hds-vod2/1.Test.mov.f4m
etc.
http://localhost/hls-vod2/1.Test.mov.m3u8 Works for HLS
http://localhost/hds-vod2/1.Test.mov.f4m Works too.
I need the rtmp url so that I can make a .smil file for rtmp fallback, such as:
smil>
<head>
<meta base="rtmp://localhost/hls-vod2/"/>
</head>
<body>
<switch>
<video src="mp4:1.Test_1500kbps.mov" system-bitrate="1500000" width="1920" height="1080" />
<video src="mp4:1.Test_1200kbps.mov" system-bitrate="1500000" width="1920" height="1080" />
<video src="mp4:1.Test_800kbps.mov" system-bitrate="1500000" width="1920" height="1080" />
</switch>
</body>
</smil>
ThanksAll of Adobe's documentation says that files specified in the vod_common_dir can be streamed from both http and rtmp, but there is no specific mention of what the correct rtmp URL is for files stored on an additional hard drive. Here's what I did to get around this: FMS 3.5 can't connect to media on other drive
1. HLS streaming:
a. Modified: rootinstall/conf/fms.ini: added a new parameter for HTTP and RTMP streaming: VOD_COMMON_DIR_2 = G:\vod2\media
b. Modified: rootinstall/applications/vod/Application.xml: Added <StreamManager><VirtualDirectory><Streams>/vod2;${VOD_COMMON_DIR_2}</Streams>
2. RTMP streaming: Added the file path of the external storage in the virtual directory of the Application.xml file without specifying or naming the application.
a. <Streams>/;G:\vod2\media</Streams>
b. The rtmp for this follows the starndard URL convention: URL Syntax: [protocol]://[servername]/[application]/[codecID:][streamname][.extension]
c. In my case, this would be: rtmp://localhost/vod/mp4:1.Test.mov
It would be nice if this worked according to Adobe's documentation, and hopefully someone can chime in with the correct answer to the original question. If not, this gets rtmp and http streaming to work from the same external location (what vod_common_dir is supposed to be able to do).
Thanks -
Use standard HTTP authentication for HDS and HLS VOD playback?
I am using FMS streaming edition. I would like to provide basic authentication on access to the HDS and HLS VOD playback.
I have configured FMS's Apache httpd.conf to use .htaccess file to password protect a directory. So, to download
http://server:8134/vod/some-directory/video.mp4
a user and password is required. This works fine.
However, I would like user and password to be required also when playing back in a player, using the URL such as:
http://server:8134/hds-vod/some-directory/video.mp4.f4m
http://server:8134/hls-vod/some-directory/video.mp4.mu38
When I test from OSMF configurator page, the video plays without needing password:
http://server:8134/hds-vod/some-directory/video.mp4.f4m
I want it to play only if user and password is provided, such as:
http://user:password@server:8134/hds-vod/some-directory/video.mp4.f4m
Anyone have ideas? Thx.1. Here you don't need to flatten the video.
2. You can try enbling the mod_cache if on linux or add a proxy caching server infront. You can use apache for the same. Here is the guide on how to configure apache for caching http://httpd.apache.org/docs/2.2/caching.html
You need to add following (if not already) in the httpd.conf
LoadModule cache_module modules/mod_cache.so
<IfModule mod_cache.c>
LoadModule disk_cache_module modules/mod_disk_cache.so
<IfModule mod_disk_cache.c>
CacheEnable disk /hds-vod
CacheEnable disk /hls-vod
CacheRoot cacheroot
CacheMaxFileSize 10000000
CacheLock On
</IfModule>
</IfModule> -
Who can explain vod hds-vod ?
In fms.ini
VOD_COMMON_DIR = d:\Program Files\Adobe\Flash Media Server 4.5\webroot\vod
VOD_DIR = d:\Program Files\Adobe\Flash Media Server 4.5\applications\vod\media
In Apache httpd.conf
DocumentRoot "../webroot"
<Location /vod>
HttpStreamingContentPath "../webroot/vod"
</Location>
<Location /hls-vod>
HttpStreamingContentPath "../webroot/vod"
</Location>
Which path is used, when I used "http://localhost:8134/vod/xxx.mp4" to play?
I change the path to
<Location /vod>
HttpStreamingContentPath "D:\"
</Location>
There have no file In the path "D:\" .
I used "http://localhost:8134/vod/xxx.mp4" to play, why the player still play the xxx.mp4?
I am confused.
Who can help me to explain these path mean?
thanks!http://localhost:8134/vod/mp4:xxx.mp4
-
HDS streaming is not working, error: problem with playback
Hi,
We have a problem to do HDS streaming in my FMS ...attached the screenshot showing error when i tried in my sample video player.
Normally what could be the reason for it. RTMP is working without any probelms.
Please advice where I can check the errorlogs for this issue.FMS version 4.5
# cat Event.xml
<Event>
<EventID>liveevent</EventID>
<Recording>
<FragmentDuration>4000</FragmentDuration>
<SegmentDuration>400000</SegmentDuration>
<DiskManagementDuration>3</DiskManagementDuration>
</Recording>
</Event>
# cat Manifest.xml
<manifest xmlns="http://ns.adobe.com/f4m/1.0">
<media streamId="livestream" bitrate="350" />
</manifest>
httpd.conf
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
# for a discussion of each configuration directive.
# Please see httpd.conf.orig for the configuration of a default
# (non-FMS) installation of apache.
Listen 80
#Listen 8134
# If you plan to run FMS as root on linux, you _must_ specify a
# valid user, with access to the FMS installation direction, or
# apache will not run.
# If you've used the default installer, nobody (or whatever other
# username you gave to the installer) will work here.
# If you're running a developer build under your own home directory,
# you should use your own username.
User fms
Group fms
AccessFileName .htaccess
ServerSignature On
UseCanonicalName Off
HostnameLookups Off
Timeout 120
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
ErrorLog logs/error_log
LogLevel info
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
CustomLog logs/access_log combined
# Proxy rtmpt to FMS
ProxyRequests Off
ProxyPass /open/ http://localhost:1935/open/
ProxyPass /close/ http://localhost:1935/close/
ProxyPass /idle/ http://localhost:1935/idle/
ProxyPass /send/ http://localhost:1935/send/
ProxyPass /fcs/ http://localhost:1935/fcs/
ProxyPass /fms/ http://localhost:1935/fms/
DocumentRoot "../webroot"
DirectoryIndex index.html index.html.var index.php index.php3 index.php4 index.php5 index.py index.pl index.rb
<Directory />
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
Satisfy all
</Directory>
<Directory "../webroot">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /documentation ../documentation/
<Directory ../documentation/>
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /icons/ "icons/"
<Directory "icons">
Options MultiViews FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
Alias /error/ "error/"
ScriptAlias /cgi-bin/ "cgi-bin/"
<Directory "cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
<Location /server-status>
SetHandler server-status
Order deny,allow
Deny from all
Allow from 10.0.0.0/8
Allow from 172.16.0.0/12
Allow from 192.168.0.0/16
Allow from 127.
</Location>
ExtendedStatus On
<Location /server-info>
SetHandler server-info
Order deny,allow
Deny from all
Allow from 10.0.0.0/8
Allow from 172.16.0.0/12
Allow from 192.168.0.0/16
Allow from 127.
</Location>
<FilesMatch "^\.ht">
Order allow,deny
Deny from all
</FilesMatch>
<IfModule mpm_winnt_module>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>
<IfModule worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
LoadModule actions_module modules/mod_actions.so
#LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
LoadModule authz_user_module modules/mod_authz_user.so
LoadModule autoindex_module modules/mod_autoindex.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
<IfModule mpm_winnt_module>
LoadModule cgi_module modules/mod_cgi.so
</IfModule>
<IfModule worker_module>
LoadModule cgid_module modules/mod_cgid.so
</IfModule>
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
LoadModule env_module modules/mod_env.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule file_cache_module modules/mod_file_cache.so
LoadModule headers_module modules/mod_headers.so
LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
<IfModule mpm_winnt_module>
LoadModule isapi_module modules/mod_isapi.so
</IfModule>
LoadModule log_config_module modules/mod_log_config.so
LoadModule mime_module modules/mod_mime.so
LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
LoadModule status_module modules/mod_status.so
LoadModule unique_id_module modules/mod_unique_id.so
LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so
#LoadModule ssl_module modules/mod_ssl.so
# The following section enables caching of Just-In-Time packaged content #
# Use htcacheclean tool to manage the amount of data that is cached on disk. #
# See Apache documentation for its usage. #
# http://httpd.apache.org/docs/2.2/programs/htcacheclean.html #
# Make sure the directory specified by the CacheRoot directive exists. The #
# default is a directory named cacheroot that is directly under the Apache #
# installation directory. #
# For more information on content caching, see Apache documentation #
# http://httpd.apache.org/docs/2.2/caching.html #
# Uncomment this to enable caching
#LoadModule cache_module modules/mod_cache.so
<IfModule mod_cache.c>
LoadModule disk_cache_module modules/mod_disk_cache.so
<IfModule mod_disk_cache.c>
CacheEnable disk /hds-vod
CacheEnable disk /hls-vod
CacheRoot cacheroot
CacheMaxFileSize 10000000
CacheLock On
</IfModule>
</IfModule>
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE application/vnd.apple.mpegurl
SetEnvIfNoCase Request_URI "^" dont-vary
SetEnvIfNoCase Request_URI \.(?:vnd\.apple\.mpegurl)$ !no-gzip !dont-vary
Header append Vary Accept-Encoding env=!dont-vary
</IfModule>
LoadModule alias_module modules/mod_alias.so
LoadModule f4fhttp_module modules/mod_f4fhttp.so
<IfModule f4fhttp_module>
<Location /vod>
HttpStreamingEnabled true
HttpStreamingContentPath "../webroot/vod"
Options -Indexes FollowSymLinks
</Location>
# Drop the Range header when more than 5 ranges.
# CVE-2011-3192
SetEnvIf Range (,.*?){5,} bad-range=1
RequestHeader unset Range env=bad-range
# map old style url to new (as of FMS 4.5), more compact url
Redirect 301 /live/events/livepkgr/events /hds-live/livepkgr
<Location /hds-live>
HttpStreamingEnabled true
HttpStreamingLiveEventPath "../applications"
HttpStreamingContentPath "../applications"
HttpStreamingF4MMaxAge 2
HttpStreamingBootstrapMaxAge 2
HttpStreamingDrmmetaMaxAge 2
HttpStreamingFragMaxAge -1
Options -Indexes FollowSymLinks
</Location>
</IfModule>
LoadModule hlshttp_module modules/mod_hlshttp.so
<IfModule hlshttp_module>
<Location /hls-live>
HLSHttpStreamingEnabled true
HttpStreamingLiveEventPath "../applications"
HttpStreamingContentPath "../applications"
HLSMediaFileDuration 8000
HLSSlidingWindowLength 6
HLSFmsDirPath ".."
HLSM3U8MaxAge 2
HLSTSSegmentMaxAge -1
HLSMaxEventAge 300
HttpStreamingUnavailableResponseCode 503
# Uncomment the following directives to enable encryption
# for this location.
# HLSEncryptionScope server
# HLSEncryptCipherKeyFile "../phls/liveeventkey.bin"
# HLSEncryptKeyURI "https://<ServerName>/hls-key/liveeventkey.bin"
Options -Indexes FollowSymLinks
</Location>
<Location /hls-vod>
HLSHttpStreamingEnabled true
HLSMediaFileDuration 8000
HttpStreamingContentPath "../webroot/vod"
HLSFmsDirPath ".."
HLSJITConfAllowed true
# Uncomment the following directives to enable encryption
# for this location.
# HLSEncryptionScope server
# HLSEncryptCipherKeyFile "../phls/vodkey.bin"
# HLSEncryptKeyURI "https://<ServerName>/hls-key/vodkey.bin"
Options -Indexes FollowSymLinks
</Location>
</IfModule>
LoadModule jithttp_module modules/mod_jithttp.so
<IfModule jithttp_module>
<Location /hds-vod>
HttpStreamingJITPEnabled true
HttpStreamingContentPath "../webroot/vod"
HttpStreamingJITConfAllowed true
JitFmsDirPath ".."
Options -Indexes FollowSymLinks
</Location>
</IfModule>
LoadModule ctrlplane_module modules/mod_ctrlplane.so
<IfModule ctrlplane_module>
<Location /ctrlplane>
SetHandler ctrlplane
HdsHttpStreamingLiveEventPath "../applications"
HlsHttpStreamingLiveEventPath "../applications"
MaxBootstrapAge 300
Options -Indexes FollowSymLinks
</Location>
</IfModule>
TypesConfig conf/mime.types
MIMEMagicFile conf/magic
DefaultType text/plain
AddType video/x-flv .flv
AddType video/MP2T .ts
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-mpegurl .m3u8
AddHandler send-as-is asis
AddHandler type-map var
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
<IfModule userdir_module>
UserDir disable
</IfModule>
<IfModule dav_fs_module>
DAVLockDB tmp/dav/lockdb
</IfModule>
IndexOptions FancyIndexing VersionSort NameWidth=* HTMLTable
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIconByType (VID,/icons/movie.gif) application/x-shockwave-flash
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddDefaultCharset UTF-8
<IfModule mod_negotiation.c>
<IfModule mod_include.c>
<Directory "error">
AllowOverride None
Options IncludesNoExec
AddOutputFilter Includes html
AddHandler type-map var
Order allow,deny
Allow from all
LanguagePriority en es de fr
ForceLanguagePriority Prefer Fallback
</Directory>
</IfModule>
</IfModule>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
#Uncomment following for enabling https based key serving
#for HLS.
#Include conf/httpd-hls-secure.conf -
Is it possible to get vod content from a http adress ?
Thank you for your answer. But neither rtmp nor hds/hls worked.
for rtmp I edited the fms.ini and added the second substitution
VOD_DIR2 = \\172.16.40.142\vod_ortak
then edited the application.xml of applications/vod and added the custom stream tags;
<Streams>/;${VOD_DIR2}</Streams>
but I got the following error;
Invalid substitution variable : VOD_DIR2
for hds/hls I edited the apache2.2/conf/httpd.conf and did the following changes
<Location /hls-vod>
HLSHttpStreamingEnabled true
HLSMediaFileDuration 8000
# HttpStreamingContentPath "../webroot/vod"
HttpStreamingContentPath "\\172.16.40.142\vod_ortak"
HLSFmsDirPath ".."
<Location /hds-vod>
HttpStreamingJITPEnabled true
# HttpStreamingContentPath "../webroot/vod"
HttpStreamingContentPath "\\172.16.40.142\vod_ortak"
JitFmsDirPath ".."
Options -Indexes FollowSymLinks
however I see from logs that path is not the way I desire.
mod_jithttp [404]: [err=1] C:/172.16.40.142/vod_ortak/n_HOBBIT_720p.mp4 does not exist
besides these, my main question is if fms can refer to files from http adress instead of an network folder. For example
my file location will be http:\\172.16.40.142\mediafiles not "\\172.16.40.142\vod_ortak" and if fms can cache these remote materials.
I can send you logs and config files
best regards -
Hey Guys
Our company has been using flex for ages developing web apps for internal and external use. with one of our apps (which we delivery video over RTMP ) we are looking to move it to the IOS AIR platform as some of our clients are now on IPADS.
So my problem...
The other day i fired up FB4.6 started building my first IOS app, got it all signed and transfered which worked great! next step to play a basic video and seek to a point in it....AH! after hours of banging my head against the desk i found RTMP isn't supported on IOS and that i need to use HTTP. so as im not a video streaming expert ive hit my first stumbling block and started to read up on HDS, HLS and different way to get the content streaming.
to be honest im totally lost at this point ive been reading different articles about converting videos, and hosting etc. if some one could help me to the best approach to start with, that would be great. also i would be happy to speak to someone for some consultation (paid obviously) if any experts are interested
as we stand at the moment our requirement is to play a video of "X" length on the IOS platform using adobe air, with the ability to seek to ANY point on the video(progressive is a big no no).
ThanksHi there
Please view the page at the link below:
Click here to view
Cheers... Rick -
CDN integration with Adobe HLS streams
I am trying to work with HLS using FMS4.5. We have live streams and on-demand streams which can be 4 hours long duration and can have 3000-5000 users.
Definitely, i don't want all the users fetch the segment(.ts) files from my FMS. and increase load on the server.
What is the best practice to handle such a situation? Can CDNs help in this case? If yes, how?Hey Mike,
Yes you are right in saying that for the HDS/HLS use case, a lesser powerful FMS instance would do, unless you plan to serve RTMP content since it is Apache and not FMS which is serving content in case of HDS, HLS.
Yes the connection limit is only for RTMFP, the p2p protocol. All FMS instances enjoy no other restrictions.
As per the reserved instances question, currently the pricing model only supports the per hour costing.
Thanks! -
Playing HLS stream using OSMF in Air for IOS
Is there any sample app (source) that shows how to play HLS streams using AIR for IOS, that the OSMF team can make available?
I am running into issues trying to get this to work as outlined here. http://forums.adobe.com/message/4013821#4013821
TIA,
- AbeyThanks to everyone who replied.
The conclusiver answer is that there are only 2 ways to display H264 video in AIR for IOS
(more info here http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/NetStream.htm l#play%28%29)
1. Progressive download
2. HLS format (slight caveat, in my tests at least, OSMF 1.6.1 does'nt handle this, but if you use the NetStream directly with StageVideo enabled it works)
Updated Matrix is :
FMS 4.5 H.264 Streaming test matrix
RTMP
HDS
HLS
HTTP Progressive Download
AIR for Android
Yes
Yes
No
Yes
AIR on Windows (Desktop)
Yes
Yes
No
Yes
AIR on IOS
No
No
Yes
Yes
Safari Browser on IOS
No
No
Yes
No -
Not Found RTMP streams and Buffering Message
I'd like to provide our clients with something that indicates that a VOD file isn't found when requested via RTMP.
Using the Strobe player, the default behavior from FMS 4.5 is to throw up a continuous "Buffering" message when the file isn't found.
When it's a live stream, we can control the return a response with FCSubscribe; so if it's not there, we can send back a response. HTTP (HDS/HLS) do return a file not found when requesting a missing file.
I tried this from a stock version of FMS using the /vod directory and any time that I place in a vod rtmp location that doesn't exist I get a buffering message.
I know that I could add a timeout to the client side - but I'm trying to stick to stock OSMF and make it work from the server side with multiple players.
Is there server side actionscript /or c++ plugin that I can add that will check the presence of the file and return a "not found" when the play is requested?
How/where would I exactly add that? Seems realitively simple, but not seeing any reference or information about how to set it up.
Much thanks in advance.
-WillThank you for the response.
Not getting that response from the stock version of FMS 4.5:
1320069319931: *** NetConnection.Connect.Success ****)
1320069319936: Manual switching enabled
1320069319936: buffer length: 5
1320069319937: play() called. isLive = false, is multibitrate = false
1320069319938: PlayArgs:[object DynamicStreamBitrate]
1320069319940: Set rate limit to 1 kbps
1320069319940: Starting with stream index 0 at 1 kbps
1320069319941: Transition complete to index 0 at 1 kbps
1320069319942: ***_ NetStream.Play.TransitionComplete ***
1320069320138: *** onNetStatus: NetStream.Play.Reset
1320069320139: *** onNetStatus: NetStream.Play.Start
This is using an OVP player base - the strobe player just spins as well.
The issue appears with a stock version of FMS, and the stock OSMF Strobe Playback.
So should I report this as an FMS 4.5 and OSMF issue?
Thanks. -
Lose RTMP when I set up vhosts
Please excuse the length and breadth of this post... but I've been working on this for a long time, trying to find out where I'm losing my rtmp in the process. I haven't found it... so you are seeing the long string of everything I'm doing currently to set up a new AMS 5.0 server to cross our old FMS 3.5 stuff to.
I'm trying to build on a server with three IPs and associated names. Names and IPs are in our DNS and properly associated
physicalserver.site.edu 999.999.999.001
vhost1live.site.edu 999.999.999.002
vhost2static.site.edu 999.999.999.003
I install AMS 5.
I then set Apache to listen to 80
Listen 80
# Listen 8134
I make sure AMS isn't listening on 80
ADAPTOR.HOSTPORT = :1935
I shut off proxy on 8134
HTTPPROXY.HOST =
in Adaptor.xml, I comment out the original hostport line and replace it with entries for my three IP's
<HostPort>999.999.999.001:1935,443</HostPort>
<HostPort>999.999.999.002:1935,443</HostPort>
<HostPort>999.999.999.003:1935,443</HostPort>
In Apache's httpd.conf, I set up vhosts
<VirtualHost 999.999.999.001>
ServerName physicalserver.site.edu
DocumentRoot "C:/Apache/physicalserver"
ErrorLog logs/physicalserver-error_log
TransferLog logs/physicalserver-access_log
</VirtualHost>
<VirtualHost 999.999.999.002>
ServerName vhost1live.site.edu
DocumentRoot "C:/Apache/vhost1live"
ErrorLog logs/vhost1live-error_log
TransferLog logs/vhost1live-access_log
</VirtualHost>
<VirtualHost 999.999.999.003>
ServerName vhost2static.site.edu
DocumentRoot "C:/Apache/vhost2static"
ErrorLog logs/vhost2static-error_log
TransferLog logs/vhost2static-access_log
</VirtualHost>
I also add the following to the httpd.conf
<Directory "C:/Apache/vhost2static">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "C:/Apache/physicalserver">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory "C:/Apache/vhost1live">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
In the AMS conf folder, within _defaultroot_, I dup the defaultvhost folder three times to create
physicalserver.site.edu
vhost1live.site.edu
vhost2static.site.edu
within those folders, i alter the vhost.xml file
I replace the default alias entry with the corresponding server
<Alias name=physicalserver"></Alias>
and the appsdir with
<AppsDir>C:\Apache\physicalserver\applications</AppsDir>
I have made three folders in c:/Apache, 1 to be the webroot of each of the servers
C:/Apache/physicalserver
C:/Apache/vhost1live
C:/Apache/vhost2static
Into each of these folders, i copy the contents of the default installs webroot folder. I also copy in Applications. Finally, from the samples folder, I copy in the videoplayer folder.
Not going into great detail, inside this folder I try to alter the appropriate files so they all reference their own server (change localhost entries to vhost1live.site.edu, etc).
Since I know I'm setting up one vhost for Live work, and one for Static stuff, I've been changing these settings in AMS.ini
VOD_COMMON_DIR = C:\Apache\vhost2static.site.edu\vod
VOD_COMMON_DIR = C:\Apache\vhost2static\applications\vod\media
LIVE_DIR = C:\Apache\vhost1live\applications\live
In httpd.conf, i change the following
<Location /hds-live>
HttpStreamingEnabled true
HttpStreamingLiveEventPath "C:/Apache/vhost1live/applications"
HttpStreamingContentPath "C:/Apache/vhost1live/applications"
<Location /hls-live>
HLSHttpStreamingEnabled true
HttpStreamingLiveEventPath "C:/Apache/vhost1live/applications"
HttpStreamingContentPath "C:/Apache/vhost1live/applications"
<Location /hls-vod>
HttpStreamingContentPath "C:/Apache/vhost2static/vod"
<Location /hds-vod>
HttpStreamingContentPath "C:/Apache/vhost2static/vod"
When I have this done, and start the AMS and Apache services, I can generally have the index and videoplayer pages work. hds, http, and hls streaming will work (haven't tried a real live broadcast through it though...so not sure if inbound rtmp works).
BUT...the regular RTMP streams and RTMP via manifest files do not work.
Ideas?A coworker stopped by and we played with this some more.
He pointed out that nothing on the box appeared to be listening on 1935.
ams was running, so we did some more looking.
on a whim, we reenabled the stock line in adaptor.xml before my hostport entries.
so now it reads like
<HostPort name="edge1" ctl_channel="localhost:19350" rtmfp="${ADAPTOR.HOSTPORT}">${ADAPTOR.HOSTPORT}</HostPort>
<HostPort>999.999.999.001:1935,443</HostPort>
<HostPort>999.999.999.002:1935,443</HostPort>
<HostPort>999.999.999.003:1935,443</HostPort>
it appears now that rtmp works.
Now...i had made these settings originally to match and work like our old server.
on newer installs... do we need to fully fill in each of the hostport entry lines... or is there key information I didn't have in my entries that prevented them from working without the line i had commented out? -
Streaming OIS media server 4.5
Hello everyone, I purchased adobe media server 4.5, and it works perfectly, only when I try to open a video by iphone or ipad ( url: http://my_ip/hls-live/livepkgr/_definst_/liveevent/livestream.m3u8) , the screen remains black.
If i constantly refresh the page, I can see a picture, can you help me?
P.S.
I used the demo version of the media server 5, when I go on http://www.osmf.org/configurator/fmp/
and insert
http://localhost/hds-live/livepkgr/_definst_/liveevent/livestream.f4m
gives me error, ideas?Hi,
When you use the vod location directive you're basically using Progressive download so your URL is as : http://myserver/vod/test.flv
However, when you use the location directive hds-vod, it is HTTP Streaming, where the fragments are created on the fly. For this your URL needs to be as : http://myserver/hds-vod/test.f4v.f4m
Please note .flv files are not supported for HTTP streaming (via hds-vod location directive). You cannot use PHDS with .flv files.
Thanks,
Apurva -
Convert .f4f on Adobe Media Server to another format such as .mp4
Anyone know how I can convert a .f4f file back a regular file such as a .mp4. On my Adobe Server I have a live DVR functionaility setup, and in the applications\livepkgr\streams\_definst_\ path I have .f4f files that's been cached that I would like to convert back a .mp4 for archival purposes.
Keep in mind that .f4f format is directly playable through many Flash Players on the web, also the hls-vod and hds-vod Apache modules can produce the manifest and playlist .f4m and .m3u8 on the fly with the .f4f as well. I would recommend leaving the files in .f4f as if they become corrupted, they are easily recoverable. Eseentially when you scrub a .f4f to .mp4 losslessly you are removing the interval metadata stored within the file rendering it subsceptible to not being recoverable if something would happen to the media the data is contained on.
It is also a good idea to "rename" the entire contents of a /stream/_definst_/ live stream as the meta data and control files can be used to generate .m3u8 manifests when streaming over HLS and future developments of software come about you will have the entire set of data of the storeed live stream. This is essentialy what the new HLS Packager that is bundled with AMS 5.x.x when taking .mp4 from other sources to generate your manifests and playlists .m3u8 and stream via HTTP HLS.
You can essentially modify the main.asc on interactive and enterprise editions of AMS to simply "Rename" the stream directories, and then sym link the /stream/_definst_/ to the /application/vod/media to directly replay a live stream through RTMP VOD, or hls-vod or hds-vod seamlessly. Renaming the directories is a perfect solution rather than "copying" as the main.asc if copying a large stream will render the "pkgr" application not responsive to immediately rebroadcast a stream until the contents of the directory is copied to another location. You can then pass particular "stream id strings" in which the main.asc can parse and perfom a specific function, as by defualt "record" and "append" modes preform those fucntions as such. append meaning adding to the existing .f4f, and record meaning to erase and start over the .f4f. You could pass a string to rename the directory to what the string parameter contains. i.e. &adbe-rename-mode=rename.to.%"
Hope this helps you utilize the FMS & AMS suites effectively in your application.
Maybe you are looking for
-
Any idea whether electronic signatures are supported in SAP and if yes what types of signature, what standards are used, whether they are legally accepted and whether it is part of the package or a separate application. whether the processes can sup
-
Why is Pages so slow with Mavericks
Seems I'm back to Appleworks on my Quadra 605......dirt slow
-
MBP Randomly Wakes Up With Lid Closed
Hi, My Macbook Pro (OS 10.4.11) always randomly wakes up by itself after I closed the display lid. Is there anything I can do to remedy this? Thanks.
-
Problem mapping styles to tags
How do I prevent creation of the "Story" tag during mapping of styles to tags? I need to achieve the following using a script: I have two XMElements in the structure view, say Title and Body as follows: <Root> <Title/> <Body/> </Root> Also, I hav
-
this is our family mac, and sombody recently put a music cd in the drive to upload to iTunes, it worked fine until it wouldnt eject. It would try to eject the disc, but then would never come out, eventually it stopped recognizing the disc completely,