PDA

View Full Version : Impossible stream record


manolo123
12-07-2015, 04:08 PM
Hello,

First of all, sorry for bad english :XX.

I've been trying for days to record, or play external, the Stream that play in this page:

http://admin.brightcove.com/viewer/us20150903.1327/BrightcoveBootloader.swf?playerID=3950496857001&playerKey=AQ~~%2CAAADexCiUfE~%2CJftGHB2I9gVI2XEYYJ Lrw_JktV22Q9KB&%40videoPlayer=4229814000001&autoStart=true&bgcolor=%23FFFFFF&debuggerID=&dynamicStreaming=false&flashID=myExperience-myExperience-1&height=645&isUI=true&isVid=true

This kind of stream use manifest.f4m encrypted and safe by first request using this URL

http://caracoltvlivehds-lh.akamaihd.net/z/emision_1@126280/manifest.f4m

and these parameters, that expires after while:

__nn__=4372295757001
&hdnea=st=1449523800~exp=1449525600~acl=/z/*~hmac=77c3a078ffeb69e5d39c30c0c632fe89db45325eddc 61bc7f7a00cb5d855359a
&videoId=4229814000001
&lineUpId=
&pubId=3827094934001
&playerId=3950496857001
&affiliateId=
&g=XHVPRZMKBCIL
&hdcore=3.4.0

Opening this manifest.f4m content:


<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns="http://ns.adobe.com/f4m/1.0" xmlns:akamai="uri:akamai.com/f4m/1.0">
<akamai:version>2.0</akamai:version>
<akamai:bw>5000</akamai:bw>
<id>emision_1</id>
<streamType>live</streamType>
<akamai:streamType>live</akamai:streamType>
<pv-2.0>;hdntl=exp=1449083295~acl=%2fz%2f*~data=hdntl~hmac =7a8d78aa8e37efe1114c7edf76a81a530926c67a3fb094c70 690c36a4ed60530</pv-2.0>
<bootstrapInfo profile="named" id="bootstrap_179" url="179_be61cb268e846748-p.bootstrap"/>
<bootstrapInfo profile="named" id="bootstrap_381" url="381_be61cb268e846748-p.bootstrap"/>
<media bitrate="179" url="179_be61cb268e846748-p_" bootstrapInfoId="bootstrap_179">
<metadata>AgAKb25NZXRhRGF0YQMACWZyYW1lcmF0ZQBAPgAAAAAAAAAFd2 lkdGgAQIQAAAAAAAAABmhlaWdodABAdoAAAAAAAAAMdmlkZW9j b2RlY2lkAgAEYXZjMQANdmlkZW9kYXRhcmF0ZQBAXMAAAAAAAA AXdmlkZW9rZXlmcmFtZV9mcmVxdWVuY3kAQE4AAAAAAAAADGF1 ZGlvY29kZWNpZAIABG1wNGEAD2F1ZGlvc2FtcGxlcmF0ZQBA5Y iAAAAAAAANYXVkaW9jaGFubmVscwBAAAAAAAAAAAANYXVkaW9k YXRhcmF0ZQBAUAAAAAAAAAAACQ==</metadata>
</media>
<media bitrate="381" url="381_be61cb268e846748-p_" bootstrapInfoId="bootstrap_381">
<metadata>AgAKb25NZXRhRGF0YQMACWZyYW1lcmF0ZQBAPgAAAAAAAAAFd2 lkdGgAQIQAAAAAAAAABmhlaWdodABAdoAAAAAAAAAMdmlkZW9j b2RlY2lkAgAEYXZjMQANdmlkZW9kYXRhcmF0ZQBAcdAAAAAAAA AXdmlkZW9rZXlmcmFtZV9mcmVxdWVuY3kAQE4AAAAAAAAADGF1 ZGlvY29kZWNpZAIABG1wNGEAD2F1ZGlvc2FtcGxlcmF0ZQBA5Y iAAAAAAAANYXVkaW9jaGFubmVscwBAAAAAAAAAAAANYXVkaW9k YXRhcmF0ZQBAWAAAAAAAAAAACQ==</metadata>
</media>
</manifest>


When I request that link it sets these cookies:

Cookie: _alid_=+n/zMHJkJd1SG4uiAG+hyw==; path=/z/emision_1@126280/; domain=caracoltvlivehds-lh.akamaihd.net

I tried sniffers to get whats streams could be requested, like chorme-Dev, Wireshark, UrlSnooper2 and Fiddler, after the first request the swf in browser start making this requests:

http://caracoltvlivehds-lh.akamaihd.net/z/emision_1@126280/179_048a27b381c27d45-p.bootstrap..
http://caracoltvlivehds-lh.akamaihd.net/z/emision_1@126280/381_048a27b381c27d45-p_Seg1-Frag..

I already tried to use this LiveStreamer, FFmpeg and AdobeHDS.

FFmpeg: Definitely fail : (


ffmpeg -i "http://admin.brightcove.com/viewer/us20150903.1327/BrightcoveBootloader.swf?playerID=3950496857001&playerKey=AQ~~%2CAAADexCiUfE~%2CJftGHB2I9gVI2XEYYJ Lrw_JktV22Q9KB&%40videoPlayer=4229814000001&autoStart=true&bgcolor=%23FFFFFF&debuggerID=&dynamicStreaming=false&flashID=myExperience-myExperience-1&height=645&isUI=true&isVid=true" whatever.output



LiveStreamer: Almost done :)


livestreamer -l debug "hds://caracoltvlivehds-lh.akamaihd.net/z/emision_1@126280/manifest.f4m?__nn__=4372295757001&hdnea=st=1449513000~exp=1449514800~acl=/z/*~hmac=2428e5ce71651aaff9f3988b82311daab1f328132cb 25256d5ed83fbe5060e04&videoId=4229814000001&lineUpId=&pubId=3827094934001&playerId=3950496857001&affiliateId=&g=WOARBNWLQGPC&hdcore=3.4.0 pvswf=http://admin.brightcove.com/viewer/us20150903.1327/BrightcoveBootloader.swf" best


AdobeHDS with stdout redirect (Almost NAILED!):


C:\php>php AdobeHDS.php --debug --manifest "http://caracoltvlivehds-lh.akamaihd.net/z/emision_1@126280/manifest.f4m?__nn__=4372295757001&hdnea=st=1449522900~exp=1449524700~acl=/z/*~hmac=f2b1ba281e5dfa677925c0a9685305851ea4ce98f09 b4f3bc206f663635ce2c1&videoId=4229814000001&lineUpId=&pubId=3827094934001&playerId=3950496857001&affiliateId=&g=VPYELNMEPTCI&hdcore=3.4.0" --play

What I want is record this Stream, but my knowledge about ServerStream was running out, I'm still looking for search on web, but if someone know any solution, pleasseeee.... I appreciated any help.

Thankss a lot.

biezom
12-07-2015, 05:28 PM
hi

hds protocol drm encrypted

it works with last update AdobeHDS

php AdobeHDS.php --update


php AdobeHDS.php --manifest "http://caracoltvlivehds-lh.akamaihd.net/z/emision_1@126280/manifest.f4m?__nn__=4372295757001&hdnea=st=1449533700~exp=1449535500~acl=/z/*~hmac=2c0a6ef6203d4de9e3a80084add98740f2501fcfc55 670a1823f9abf8d4386d0&videoId=4229814000001&lineUpId=&pubId=3827094934001&playerId=3950496857001&affiliateId=&g=HYXGQTSGXTBB&hdcore=3.4.0" --delete --play |"C:\Program Files\VideoLAN\VLC\vlc.exe" -


http://i.imgur.com/Hd8P5TL.png

manolo123
12-08-2015, 06:58 AM
Hi,

Really Thanks for your reply! It worked on VLC \o/

But, is there a way to make this on ffmpeg?

I tried with this:

php AdobeHDS.php --manifest "http://caracoltvlivehds-lh.akamaihd.net/z/emision_1@126280/manifest.f4m?__nn__=4372295757001&hdnea=st=1449581400~e
xp=1449583200~acl=/z/*~hmac=bbd61e7ba66623bc56af482fbd5db1d12ecdc313120 a14ef498ba55abf81b078&videoId=4229814000001&lineUpId=&pubId=3827094934001&playe
rId=3950496857001&affiliateId=&g=NVERYFKLWYUB&hdcore=3.4.0" --delete --play | ffmpeg -f flv -loglevel debug -i -

But got stuck on this:

ffmpeg version N-71418-g818e889 Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.2 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av
isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab
le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --
enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm --enable-l
ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enab
le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --en
able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --ena
ble-libtwolame --enable-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc
--enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enabl
e-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-lzma --ena
ble-decklink --enable-zlib
libavutil 54. 22.101 / 54. 22.101
libavcodec 56. 34.100 / 56. 34.100
libavformat 56. 30.100 / 56. 30.100
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 14.100 / 5. 14.100
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Splitting the commandline.
Reading option '-f' ... matched as option 'f' (force format) with argument 'flv'
.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level)
with argument 'debug'.
Reading option '-i' ... matched as input file with argument '-'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file -.
Applying option f (force format) with argument flv.
Successfully parsed a group of options.
Opening an input file: -.