Page 1 of 2

HTTP Dynamic Streaming - Flash Media Manifest File Format

PostPosted: Thu Dec 15, 2011 4:23 pm
by Illico
Do you know manifest.f4m file format?

HTTP Dynamic Streaming is not supported yet by serviio/ffmpeg

For example with pluzz plugin, some url parsing found this:
http://ftvodhdsecz-f.akamaihd.net/z/streaming-adaptatif_france-dom-tom/2013/S05/J1/76355849-20130128-,398,632,934,k.mp4.csmil/manifest.f4m





I'm working on Pluzz plugin to support feeds with Flash Manifest URL.

For example Video information could be found with that link: http://pluzz.francetv.fr/appftv/webserv ... n=76355849
- Integral version : manifest.f4m
To retrieve manifest information, plugin use a token

  Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns="http://ns.adobe.com/f4m/1.0">
  <id>/streaming-adaptatif_france-dom-tom/2013/S05/J1/76355849-20130128-,398,632,934,k.mp4.csmil_0</id>
  <streamType>recorded</streamType>
  <duration>1422.825</duration>
  <streamBaseTime>0.000</streamBaseTime>
  <pv-2.0>ZXhwPTEzMjcyNjA5MDd+YWNsPSUyZip+ZGF0YT1wdmN+aG1hYz02YWQ2NmJkMGI2OWE4Y2I4YmMyNTk1NmQwNjI5ZjJmYjFmNTZmMzM0ZmE1NjAyZTMxNWMwZTUwZGZkMDZjYTM3</pv-2.0>
  <bootstrapInfo profile="named" id="bootstrap_0">AAAAi2Fic3QAAAAAAAABQgAAAAPoAAAAAAAVtekAAAAAAAAAAAAAAAAAAQAAABlhc3J0AAAAAAAAAAABAAAAAQAAARwBAAAARmFmcnQAAAAAAAAD6AAAAAADAAAAAQAAAAAAAAAAAAATiAAAARwAAAAAABWXWAAAHpEAAAAAAAAAAAAAAAAAAAAAAA==</bootstrapInfo>
  <bootstrapInfo profile="named" id="bootstrap_1">AAAAi2Fic3QAAAAAAAABQgAAAAPoAAAAAAAVtekAAAAAAAAAAAAAAAAAAQAAABlhc3J0AAAAAAAAAAABAAAAAQAAARwBAAAARmFmcnQAAAAAAAAD6AAAAAADAAAAAQAAAAAAAAAAAAATiAAAARwAAAAAABWXWAAAHpEAAAAAAAAAAAAAAAAAAAAAAA==</bootstrapInfo>
  <bootstrapInfo profile="named" id="bootstrap_2">AAAAi2Fic3QAAAAAAAABQgAAAAPoAAAAAAAVtekAAAAAAAAAAAAAAAAAAQAAABlhc3J0AAAAAAAAAAABAAAAAQAAARwBAAAARmFmcnQAAAAAAAAD6AAAAAADAAAAAQAAAAAAAAAAAAATiAAAARwAAAAAABWXWAAAHpEAAAAAAAAAAAAAAAAAAAAAAA==</bootstrapInfo>
  <media bitrate="551" url="0_02df341584a538e2_" bootstrapInfoId="bootstrap_0">
    <metadata>AgAKb25NZXRhRGF0YQgAAAAMAAhkdXJhdGlvbgBAljtMzMzMzQAFd2lkdGgAQHgAAAAAAAAABmhlaWdodABAawAAAAAAAAANdmlkZW9kYXRhcmF0ZQBAfJAAAAAAAAAJZnJhbWVyYXRlAEA5AAAAAAAAAAx2aWRlb2NvZGVjaWQAQBwAAAAAAAAADWF1ZGlvZGF0YXJhdGUAQFeAAAAAAAAAD2F1ZGlvc2FtcGxlcmF0ZQBB5YiAAAAAAAAPYXVkaW9zYW1wbGVzaXplAEAwAAAAAAAAAAZzdGVyZW8BAQAMYXVkaW9jb2RlY2lkAEAkAAAAAAAAAAhmaWxlc2l6ZQBBl16NUAAAAAAAAw==</metadata>
  </media>
  <media bitrate="849" url="1_02df341584a538e2_" bootstrapInfoId="bootstrap_1">
    <metadata>AgAKb25NZXRhRGF0YQgAAAAMAAhkdXJhdGlvbgBAljtMzMzMzQAFd2lkdGgAQIAAAAAAAAAABmhlaWdodABAcgAAAAAAAAANdmlkZW9kYXRhcmF0ZQBAh5gAAAAAAAAJZnJhbWVyYXRlAEA5AAAAAAAAAAx2aWRlb2NvZGVjaWQAQBwAAAAAAAAADWF1ZGlvZGF0YXJhdGUAQFeAAAAAAAAAD2F1ZGlvc2FtcGxlcmF0ZQBB5YiAAAAAAAAPYXVkaW9zYW1wbGVzaXplAEAwAAAAAAAAAAZzdGVyZW8BAQAMYXVkaW9jb2RlY2lkAEAkAAAAAAAAAAhmaWxlc2l6ZQBBof/IggAAAAAAAw==</metadata>
  </media>
  <media bitrate="1201" url="2_02df341584a538e2_" bootstrapInfoId="bootstrap_2">
    <metadata>AgAKb25NZXRhRGF0YQgAAAAMAAhkdXJhdGlvbgBAljtMzMzMzQAFd2lkdGgAQIQAAAAAAAAABmhlaWdodABAdoAAAAAAAAANdmlkZW9kYXRhcmF0ZQBAkUwAAAAAAAAJZnJhbWVyYXRlAEA5AAAAAAAAAAx2aWRlb2NvZGVjaWQAQBwAAAAAAAAADWF1ZGlvZGF0YXJhdGUAQFeAAAAAAAAAD2F1ZGlvc2FtcGxlcmF0ZQBB5YiAAAAAAAAPYXVkaW9zYW1wbGVzaXplAEAwAAAAAAAAAAZzdGVyZW8BAQAMYXVkaW9jb2RlY2lkAEAkAAAAAAAAAAhmaWxlc2l6ZQBBqXUyqgAAAAAAAw==</metadata>
  </media>
</manifest>



Then FLV segments can be found :

http://ftvodhdsecz-f.akamaihd.net/z/str ... Seg1-Frag1
http://ftvodhdsecz-f.akamaihd.net/z/str ... Seg1-Frag2
http://ftvodhdsecz-f.akamaihd.net/z/str ... Seg1-Frag3
...

Re: Flash Media Manifest File Format

PostPosted: Thu Dec 15, 2011 4:31 pm
by zip
cant open the f4m file (probably geo check)

Re: Flash Media Manifest File Format

PostPosted: Sun Dec 18, 2011 1:35 am
by MadJake
Hi guys,

Google brought me here so I'm adding what I know in the hope that someone can fill in the gaps.

The manifest.f4m can only be retrieved by providing a valid HMAC which is obtained by calling a webservice. Hint: Wireshark is your friend ;)

The resulting manifest.f4m has this format:

  Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns="http://ns.adobe.com/f4m/1.0">
  <id>/geoloc.mp4_0</id>
  <streamType>recorded</streamType>
  <duration>10.112</duration>
  <streamBaseTime>0.000</streamBaseTime>
  <bootstrapInfo profile="named" id="bootstrap_0">AAAAe2Fic3QAAAAAAAABQgAAAAPoAAAAAAAAJ4AAAAAAAAAAAAAAAAAAAQAAABlhc3J0AAAAAAAAAAABAAAAAQAAAAEBAAAANmFmcnQAAAAAAAAD6AAAAAACAAAAAQAAAAAAAAAAAAAngAAAAAAAAAAAAAAAAAAAAAAA</bootstrapInfo>
  <media bitrate="80" url="http://ftvodhdsecz-f.akamaihd.net/z/geoloc.mp4/0_3136692b2436f1e2_" bootstrapInfoId="bootstrap_0">
<metadata>AgAKb25NZXRhRGF0YQgAAAAMAAhkdXJhdGlvbgBAJDlYEGJN0wAFd2lkdGgAQIQAAAAAAAAABmhlaWdodABAdoAAAAAAAAANdmlkZW9kYXRhcmF0ZQBAUwAAAAAAAAAJZnJhbWVyYXRlAEA5AAAAAAAAAAx2aWRlb2NvZGVjaWQAQBwAAAAAAAAADWF1ZGlvZGF0YXJhdGUAQBAAAAAAAAAAD2F1ZGlvc2FtcGxlcmF0ZQBB13AAAAAAAAAPYXVkaW9zYW1wbGVzaXplAEAwAAAAAAAAAAZzdGVyZW8BAQAMYXVkaW9jb2RlY2lkAEAkAAAAAAAAAAhmaWxlc2l6ZQBA+LCgAAAAAAAAAw==</metadata>
  </media>
</manifest>


And I have no idea what to do with this or why it results in subsequent HTTP request for:

http://ftvodhdsecz-f.akamaihd.net/z/geo ... OPBS,2.4.5

I should probably also mention that I am in Canada so the result of all this might just be a "Non, droits de diffusion, etc".

Any help much appreciated.

Re: Flash Media Manifest File Format

PostPosted: Tue Jan 24, 2012 1:51 pm
by Illico
MadJake wrote:Any help much appreciated.

+1




I'm working on Pluzz plugin to support feeds with Flash Manifest URL.

Feed RSS example: http://www.pluzz.fr/plus-belle-la-vie/rss
For example with that video link, I found VideoId=58114162
Video information could be found with that link: http://www.pluzz.fr/appftv/webservices/ ... n=58114162
There were two media:
- Integral version : manifest.f4m
- Resume version : mms

To retrieve manifest information, plugin use a token

  Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns="http://ns.adobe.com/f4m/1.0">
  <id>/streaming-adaptatif_france-dom-tom/2012/S03/J5/58114162-20120120-,398,632,934,k.mp4.csmil_0</id>
  <streamType>recorded</streamType>
  <duration>1422.825</duration>
  <streamBaseTime>0.000</streamBaseTime>
  <pv-2.0>ZXhwPTEzMjcyNjA5MDd+YWNsPSUyZip+ZGF0YT1wdmN+aG1hYz02YWQ2NmJkMGI2OWE4Y2I4YmMyNTk1NmQwNjI5ZjJmYjFmNTZmMzM0ZmE1NjAyZTMxNWMwZTUwZGZkMDZjYTM3</pv-2.0>
  <bootstrapInfo profile="named" id="bootstrap_0">AAAAi2Fic3QAAAAAAAABQgAAAAPoAAAAAAAVtekAAAAAAAAAAAAAAAAAAQAAABlhc3J0AAAAAAAAAAABAAAAAQAAARwBAAAARmFmcnQAAAAAAAAD6AAAAAADAAAAAQAAAAAAAAAAAAATiAAAARwAAAAAABWXWAAAHpEAAAAAAAAAAAAAAAAAAAAAAA==</bootstrapInfo>
  <bootstrapInfo profile="named" id="bootstrap_1">AAAAi2Fic3QAAAAAAAABQgAAAAPoAAAAAAAVtekAAAAAAAAAAAAAAAAAAQAAABlhc3J0AAAAAAAAAAABAAAAAQAAARwBAAAARmFmcnQAAAAAAAAD6AAAAAADAAAAAQAAAAAAAAAAAAATiAAAARwAAAAAABWXWAAAHpEAAAAAAAAAAAAAAAAAAAAAAA==</bootstrapInfo>
  <bootstrapInfo profile="named" id="bootstrap_2">AAAAi2Fic3QAAAAAAAABQgAAAAPoAAAAAAAVtekAAAAAAAAAAAAAAAAAAQAAABlhc3J0AAAAAAAAAAABAAAAAQAAARwBAAAARmFmcnQAAAAAAAAD6AAAAAADAAAAAQAAAAAAAAAAAAATiAAAARwAAAAAABWXWAAAHpEAAAAAAAAAAAAAAAAAAAAAAA==</bootstrapInfo>
  <media bitrate="551" url="0_02df341584a538e2_" bootstrapInfoId="bootstrap_0">
    <metadata>AgAKb25NZXRhRGF0YQgAAAAMAAhkdXJhdGlvbgBAljtMzMzMzQAFd2lkdGgAQHgAAAAAAAAABmhlaWdodABAawAAAAAAAAANdmlkZW9kYXRhcmF0ZQBAfJAAAAAAAAAJZnJhbWVyYXRlAEA5AAAAAAAAAAx2aWRlb2NvZGVjaWQAQBwAAAAAAAAADWF1ZGlvZGF0YXJhdGUAQFeAAAAAAAAAD2F1ZGlvc2FtcGxlcmF0ZQBB5YiAAAAAAAAPYXVkaW9zYW1wbGVzaXplAEAwAAAAAAAAAAZzdGVyZW8BAQAMYXVkaW9jb2RlY2lkAEAkAAAAAAAAAAhmaWxlc2l6ZQBBl16NUAAAAAAAAw==</metadata>
  </media>
  <media bitrate="849" url="1_02df341584a538e2_" bootstrapInfoId="bootstrap_1">
    <metadata>AgAKb25NZXRhRGF0YQgAAAAMAAhkdXJhdGlvbgBAljtMzMzMzQAFd2lkdGgAQIAAAAAAAAAABmhlaWdodABAcgAAAAAAAAANdmlkZW9kYXRhcmF0ZQBAh5gAAAAAAAAJZnJhbWVyYXRlAEA5AAAAAAAAAAx2aWRlb2NvZGVjaWQAQBwAAAAAAAAADWF1ZGlvZGF0YXJhdGUAQFeAAAAAAAAAD2F1ZGlvc2FtcGxlcmF0ZQBB5YiAAAAAAAAPYXVkaW9zYW1wbGVzaXplAEAwAAAAAAAAAAZzdGVyZW8BAQAMYXVkaW9jb2RlY2lkAEAkAAAAAAAAAAhmaWxlc2l6ZQBBof/IggAAAAAAAw==</metadata>
  </media>
  <media bitrate="1201" url="2_02df341584a538e2_" bootstrapInfoId="bootstrap_2">
    <metadata>AgAKb25NZXRhRGF0YQgAAAAMAAhkdXJhdGlvbgBAljtMzMzMzQAFd2lkdGgAQIQAAAAAAAAABmhlaWdodABAdoAAAAAAAAANdmlkZW9kYXRhcmF0ZQBAkUwAAAAAAAAJZnJhbWVyYXRlAEA5AAAAAAAAAAx2aWRlb2NvZGVjaWQAQBwAAAAAAAAADWF1ZGlvZGF0YXJhdGUAQFeAAAAAAAAAD2F1ZGlvc2FtcGxlcmF0ZQBB5YiAAAAAAAAPYXVkaW9zYW1wbGVzaXplAEAwAAAAAAAAAAZzdGVyZW8BAQAMYXVkaW9jb2RlY2lkAEAkAAAAAAAAAAhmaWxlc2l6ZQBBqXUyqgAAAAAAAw==</metadata>
  </media>
</manifest>


Now I need help to support manifest format with serviio.

Re: Flash Media Manifest File Format

PostPosted: Tue Jan 24, 2012 2:02 pm
by zip
not sure I understand. just parse the manifest XML, right?

Re: Flash Media Manifest File Format

PostPosted: Tue Jan 24, 2012 3:40 pm
by Illico
For example a contentUrl result : http://ftvodhdsecz-f.akamaihd.net//z/streaming-adaptatif_france-dom-tom/2012/S04/J1/58390795-20120123-,398,632,934,k.mp4.csmil/manifest.f4m?hdnea=exp=1327419551~acl=%2fz%2fstreaming-adaptatif_france-dom-tom%2f2012%2fS04%2fJ1%2f58390795-20120123-*~hmac=56ebdbdacc6216184e4cd626f8f4829b2127b159d4ecf072fd9bca586e5639ce

log result:
  Code:
2012-01-24 16:29:11,771 DEBUG [ProcessExecutor] Starting C:\Serviio\lib/ffmpeg.exe -i http://ftvodhdsecz-f.akamaihd.net//z/streaming-adaptatif_france-dom-tom/2012/S04/J1/58390795-20120123-,398,632,934,k.mp4.csmil/manifest.f4m?hdnea=exp=1327419551~acl=%2fz%2fstreaming-adaptatif_france-dom-tom%2f2012%2fS04%2fJ1%2f58390795-20120123-*~hmac=56ebdbdacc6216184e4cd626f8f4829b2127b159d4ecf072fd9bca586e5639ce
2012-01-24 16:29:11,834 TRACE [OutputTextReader] ffmpeg version 0.9, Copyright (c) 2000-2011 the FFmpeg developers
2012-01-24 16:29:11,834 TRACE [OutputTextReader]   built on Dec 13 2011 20:46:11 with gcc 4.4.2
2012-01-24 16:29:11,834 TRACE [OutputTextReader]   configuration: --enable-static --disable-shared --disable-ffplay --disable-ffserver --enable-memalign-hack --enable-libmp3lame --enable-librtmp --extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --arch=x86 --enable-runtime-cpudetect --enable-pthreads --target-os=mingw32 --cross-prefix=i686-mingw32- --pkg-config=pkg-config
2012-01-24 16:29:11,834 TRACE [OutputTextReader]   libavutil    51. 32. 0 / 51. 32. 0
2012-01-24 16:29:11,834 TRACE [OutputTextReader]   libavcodec   53. 42. 0 / 53. 42. 0
2012-01-24 16:29:11,834 TRACE [OutputTextReader]   libavformat  53. 24. 0 / 53. 24. 0
2012-01-24 16:29:11,834 TRACE [OutputTextReader]   libavdevice  53.  4. 0 / 53.  4. 0
2012-01-24 16:29:11,834 TRACE [OutputTextReader]   libavfilter   2. 53. 0 /  2. 53. 0
2012-01-24 16:29:11,834 TRACE [OutputTextReader]   libswscale    2.  1. 0 /  2.  1. 0
2012-01-24 16:29:11,834 TRACE [OutputTextReader] [http @ 018c2fa0] Key '98,6' not found.
2012-01-24 16:29:11,834 TRACE [OutputTextReader] [http @ 018c2fa0] Error parsing options string ,398,632,934,k.mp4.csmil/manifest.f4m?hdnea=exp=1327419551~acl=%2fz%2fstreaming-adaptatif_france-dom-tom%2f2012%2fS04%2fJ1%2f58390795-20120123-*~hmac=56ebdbdacc6216184e4cd626f8f4829b2127b159d4ecf072fd9bca586e5639ce
2012-01-24 16:29:11,834 TRACE [OutputTextReader] http://ftvodhdsecz-f.akamaihd.net//z/streaming-adaptatif_france-dom-tom/2012/S04/J1/58390795-20120123-,398,632,934,k.mp4.csmil/manifest.f4m?hdnea=exp=1327419551~acl=%2fz%2fstreaming-adaptatif_france-dom-tom%2f2012%2fS04%2fJ1%2f58390795-20120123-*~hmac=56ebdbdacc6216184e4cd626f8f4829b2127b159d4ecf072fd9bca586e5639ce: Not enough space
2012-01-24 16:29:11,849 WARN  [FeedUpdaterThread] Failed to retrieve online item information for http://ftvodhdsecz-f.akamaihd.net//z/streaming-adaptatif_france-dom-tom/2012/S04/J1/58390795-20120123-,398,632,934,k.mp4.csmil/manifest.f4m?hdnea=exp=1327419551~acl=%2fz%2fstreaming-adaptatif_france-dom-tom%2f2012%2fS04%2fJ1%2f58390795-20120123-*~hmac=56ebdbdacc6216184e4cd626f8f4829b2127b159d4ecf072fd9bca586e5639ce. It might not play.

Re: Flash Media Manifest File Format

PostPosted: Tue Jan 24, 2012 4:07 pm
by Illico
If I replace ',' with '%2C' on the URL:

  Code:
2012-01-24 16:51:19,546 DEBUG [ProcessExecutor] Starting C:\Serviio\lib/ffmpeg.exe -i http://ftvodhdsecz-f.akamaihd.net//z/streaming-adaptatif_france-dom-tom/2012/S03/J4/58114107-20120119-%2C398%2C632%2C934%2Ck.mp4.csmil/manifest.f4m?hdnea=exp=1327420879~acl=%2fz%2fstreaming-adaptatif_france-dom-tom%2f2012%2fS03%2fJ4%2f58114107-20120119-*~hmac=5218c1fe77d7bdd396aa2c8f8ebf4cb3e45d05e7c0278622c6a8bf2a39f580eb
2012-01-24 16:52:19,561 DEBUG [ProcessUtils] Killing the Windows process: 4892
2012-01-24 16:52:19,655 WARN  [FeedUpdaterThread] Failed to retrieve online item information for http://ftvodhdsecz-f.akamaihd.net//z/streaming-adaptatif_france-dom-tom/2012/S03/J4/58114107-20120119-%2C398%2C632%2C934%2Ck.mp4.csmil/manifest.f4m?hdnea=exp=1327420879~acl=%2fz%2fstreaming-adaptatif_france-dom-tom%2f2012%2fS03%2fJ4%2f58114107-20120119-*~hmac=5218c1fe77d7bdd396aa2c8f8ebf4cb3e45d05e7c0278622c6a8bf2a39f580eb. It might not play.
java.io.IOException: org.serviio.library.local.metadata.extractor.InvalidMediaFormatException: Unknown video file type.


Timeout of ffmpeg process!

Re: Flash Media Manifest File Format

PostPosted: Tue Jan 24, 2012 5:03 pm
by zip
but that URL points to the manifest file, right? Not the content.

Re: Flash Media Manifest File Format

PostPosted: Tue Jan 24, 2012 5:17 pm
by Illico
zip wrote:but that URL points to the manifest file, right? Not the content.

Yes this is the xml manifest Url.

I also try with media url,
C:\Serviio\lib/ffmpeg.exe -i http://ftvodhdsecz-f.akamaihd.net/z/str ... Seg1-Frag1

or

C:\Serviio\lib/ffmpeg.exe -i http://ftvodhdsecz-f.akamaihd.net/z/str ... 584a538e2_

same result

Re: Flash Media Manifest File Format

PostPosted: Tue Jan 24, 2012 8:51 pm
by zip
FFmpeg won't understand that file. I assume it includes links to content? If yes you have to load this file in the plugin, parse it and get content URL from there.

Re: Flash Media Manifest File Format

PostPosted: Wed Jan 25, 2012 8:54 am
by Illico
zip wrote:FFmpeg won't understand that file.

I confirm
zip wrote:I assume it includes links to content?

Yes and No, previous links are supposed to be flv fragments of the video, not the complete flv file.
I saw on other Flash Video downloader tools something like this:
http://ftvodhdsecz-f.akamaihd.net/.../0 ... Seg1-Frag1
http://ftvodhdsecz-f.akamaihd.net/.../0 ... Seg1-Frag2
http://ftvodhdsecz-f.akamaihd.net/.../0 ... Seg1-Frag3
...

zip wrote:If yes you have to load this file in the plugin, parse it and get content URL from there.

Not sure to understand...That's what I thought already do! :?
Is there another serviio groovy plugin that use flash manifest link (f4m) ?
I feel like being alone on the subject. :(

Re: Flash Media Manifest File Format

PostPosted: Wed Jan 25, 2012 9:26 am
by zip
ah ok... it the content is in chunks it won't work. I'll be looking to adding playlist support to plugins API in future so then this could be solved.

Re: Flash Media Manifest File Format

PostPosted: Wed Jan 25, 2012 10:10 am
by Illico
zip wrote:ah ok... it the content is in chunks it won't work. I'll be looking to adding playlist support to plugins API in future so then this could be solved.

ok, I will wait.

Re: Flash Media Manifest File Format

PostPosted: Wed Feb 15, 2012 8:14 pm
by Illico
Manifest File Format for dynamic streaming:
http://www.thekuroko.com/http-dynamic-s ... g-started/

Re: Flash Media Manifest File Format

PostPosted: Sun Sep 30, 2012 1:53 am
by ttguy
zip wrote:ah ok... it the content is in chunks it won't work. I'll be looking to adding playlist support to plugins API in future so then this could be solved.


Not sure that playlists is what you want to solve this. I think ideally what we need is ffmpeg to support this format - like it supports RTMP.

This is on the ffmpeg projects to do list.

Anyone around here with the chops to be able to implement this? You would borrow a bit of the logic from AdobeHDS.php

I was thinkng that I could pipe output from AdobeHDS.php to ffmpeg so that Serviio could restream it. But unfortunately AdobeHDS.php at the moment needs to download all the fragments and join them up before you get a playable file. So it is not suitable for re-streaming data.

Re: Flash Media Manifest File Format

PostPosted: Thu Jan 24, 2013 4:58 pm
by Illico
The pluzz plugin is based on manifest files.
But the mobile application use m3u8 format that ffmpeg may support.

ex: http://medias2.francetv.fr/catchup-mobi ... -840k.m3u8

I will have a look on this.

Re: Flash Media Manifest File Format

PostPosted: Tue Jan 29, 2013 9:50 am
by Illico
I don't know if hds manifest format could be convert to a m3u8 format in plugin source ?

Do you think is it possible with groovy plugin to create a BufferedInputStream, download/buffered the f4m manifest segments and copy to a BufferedOutputStream with a local address "http://localhost/localstream.flv" that ffmpeg could transcode to the devices ?

Re: HTTP Dynamic Streaming - Flash Media Manifest File Forma

PostPosted: Fri Mar 29, 2013 8:19 am
by Illico
Work in progress but slowly...
https://ffmpeg.org/trac/ffmpeg/ticket/1964

A php code that extract Adobe HDS segment:
https://raw.github.com/K-S-V/Scripts/ma ... obeHDS.php

Re: HTTP Dynamic Streaming - Flash Media Manifest File Forma

PostPosted: Tue Oct 15, 2013 10:05 pm
by piscui
@zip: Is there any way to pipe the media stream back into serviio? For example the original stream from OP plays just fine using the PHP script mentioned also in this thread. Like this:

  Code:
php adobe.php --manifest http://ftvodhdsecz-f.akamaihd.net/z/streaming-adaptatif_france-dom-tom/2013/S05/J1/76355849-20130128-,398,632,934,k.mp4.csmil/manifest.f4m --quality high --play | ffmpeg -i -
ffmpeg version N-54288-gaa10cdd-tessus Copyright (c) 2000-2013 the FFmpeg developers
  built on Jun 20 2013 03:35:15 with llvm-gcc 4.2.1 (LLVM build 2336.1.00)
  configuration: --prefix=/Users/tessus/data/ext/ffmpeg/sw --as=yasm --extra-version=tessus --disable-shared --enable-static --disable-ffplay --enable-gpl --enable-pthreads --enable-postproc --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libspeex --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libxavs --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvpx --enable-libgsm --enable-libopus --enable-fontconfig --enable-libfreetype --enable-libass --enable-filters --enable-runtime-cpudetect
  libavutil      52. 37.101 / 52. 37.101
  libavcodec     55. 16.100 / 55. 16.100
  libavformat    55.  9.100 / 55.  9.100
  libavdevice    55.  2.100 / 55.  2.100
  libavfilter     3. 77.101 /  3. 77.101
  libswscale      2.  3.100 /  2.  3.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  3.100 / 52.  3.100
Input #0, flv, from 'pipe:':
  Duration: 00:00:10.00, start: 0.080000, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuv420p, 640x360, 19 kb/s, 25 tbr, 1k tbn, 50 tbc
At least one output file must be specified

ffplay plays it fine (some French message saying I am not in France or something, but the media plays OK).

That obviously won't work in serviio since the ffmpeg params are so heavily parsed out, but maybe through a plugin or something..? I am willing to code something up if you could shed some light.

Thanks

Re: HTTP Dynamic Streaming - Flash Media Manifest File Forma

PostPosted: Tue Nov 26, 2013 7:45 pm
by Xmantium
Looks like there's been a lot of development bringing HDS support to ffmpeg.

http://git.videolan.org/?p=ffmpeg.git;a ... =Changelog confirms "Live HDS Muxing" coming to next build! :D