粉絲專頁直播串流分析、下載方法 - Facebook

Joseph avatar
By Joseph
at 2015-12-13T15:43

Table of Contents

※本文嚴禁轉載,切勿抄襲,如需使用內容請站內信

facebook部份通過認證的粉絲專頁擁有直播功能,

當通知有直播往往已過了開播第一時間,錯失搶頭香機會
(抱怨一下...動態通知很爛最近很爛 完全沒修復)

事後有VOD回顧,但跟第一時間收看是不一樣的心情,畫質也有稍微不同

--------------------------------------------------------------------------

直播串流來源

目前已知facebook直播有兩種串流方式,rtmp(rtmps)串流與hls(m3u8)串流

當開啟直播頁面載入並回傳串流內容,之前使用hls串流技術較多,

近期多是使用rtmp串流技術

<rtmp>
https://www.facebook.com/video/video_data/?video_id=[VIDEO_ID]

內容
{"hd_src":"rtmps:\/\/edgetee.facebook.com:443\/live-md\/[STREAM_ID]?
o=lla1&a=xxxxxxx_xxxxxxxx",
"is_hds":false,
"stream_type":"rtmp",
"is_live_stream":true,
"rotation":0,
"sd_src":"rtmps:\/\/edgetee.facebook.com:443\/live-md\/[STREAM_ID]?
o=lla1&a=xxxxxxx_xxxxxxxx",
"video_id":"[VIDEO_ID]",
"sd_tag":"",
"hd_tag":"",
"live_routing_token":"rtmps-tpe1-1-lla1",
"spherical_hd_src":null,
"spherical_hd_tag":null,
"spherical_sd_src":null,
"spherical_sd_tag":null,
"projection":"flat",
"subtitles_src":null,
"dash_manifest":null}

說明
[VIDEO_ID] 為該頁面的發文ID,位於網址末段,約15-16碼純數字亂碼
[STREAM_ID] 為直播串流ID,位於回傳內容,約15碼純數字亂碼
o=lla1 為facebook伺服器代號,像lla1是位於台灣的伺服器[31.13.87.15]
a=xxxxxxx_xxxxxxxx 為認證金鑰token,每fb帳號開啟皆不同,英數亂碼



<hls>
https://www.facebook.com/video/playback/playlist.m3u8?v=[VIDEO_ID]

內容
共有幾種形式的網址,有的需要token值,有的不需要
#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=1000000,RESOLUTION=400x400
https://video.xx.fbcdn.net/hvideo-prn1/live-sd/[STREAM_ID].m3u8

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=697420,RESOLUTION=400x400
https://www.facebook.com/video/playback/playlist.m3u8?v=[STREAM_ID]&q=SD

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=750000,RESOLUTION=400x400
https://fblive-a.akamaihd.net/hvideo-ak-lla1/live-md/[STREAM_ID].m3u8?
oh=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&oe=xxxxxxxx

說明
若需要下載,直接使用playlist.m3u8即可下載,
但部份若有token時,則必須先下載playlist.m3u8中正確串流

BANDWIDTH 為直播流量,猜測是手機當時訊號強弱,若很強流量自動會提昇
RESOLUTION 長寬比400x400,為固定直播比例無法更動
[VIDEO_ID] 為該頁面的發文ID,位於網址末段,約15-16碼純數字亂碼
[STREAM_ID] 為直播串流ID,位於回傳內容,約15碼純數字亂碼
oh=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&oe=xxxxxxxx
為認證金鑰token,每fb帳號開啟皆不同,英數亂碼

--------------------------------------------------------------------------

回傳的直播串流與下載

<rtmp> 可用rtmpdump下載
rtmps://edgetee.facebook.com:443/live-md/[STREAM_ID]?
o=lla1&a=xxxxxxx_xxxxxxxx

說明
edgetee.facebook.com 為facebook伺服器
live-md 猜測是medium-definition中等畫質直播

指令
rtmpdump -r "rtmps://x.x.xxx:443/live-md/[STREAM_ID]?o=x&a=x" -o "abc.flv"



<hls> 可用ffmpeg下載
https://fbmentionslive-a.akamaihd.net/hvideo-ak-prn1/live-sd/
[STREAM_ID].m3u8?oh=x&oe=x

說明
fbmentionslive-a.akamaihd.net 為facebook mentions hls直播專用伺服器
live-sd 猜測是standard-definition標準畫質直播

指令
ffmpeg -i "https://x.x.xxx/xxx/live-sd/[STREAM_ID].m3u8" -c copy "abc.flv"
※可能需要加入「-bsf:a aac_adtstoasc」指令

--------------------------------------------------------------------------

直播畫質與VOD回顧畫質比較

直播者網路穩定狀態下,直播流量將會比VOD流量高
但反之網路不穩定時,直播流量將會比VOD流量低

利用MediaInfo查看畫質資訊

<rtmp>
直播畫質
整體流量 : 80~550 Kbps
_Server : FBVIDEO RTMP
_displayWidth : 400.000
_displayHeight : 400.000
_fps : 30.000

視訊
格式 : AVC [email protected]
格式設定, CABAC : 是
格式設定, RefFrames : 3 影格
編解碼器識別字 : 7
流量 : 250~9300 Kbps
畫面寬高 : 400 像素 x 400 像素
顯示長寬比例 : 1.000
影格頻率模式 : 常數式
影格頻率 : 30.000 fps
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
掃描型態 : 漸進式

音訊
格式 : AAC LC
編解碼器識別字 : 10
流量 : 62.0 Kbps
聲道數 : 2 聲道
原始聲道數 : 1 聲道
聲道位置 : Front: C
取樣率 : 48.0 KHz


<hls>
整體流量 : 300~580 Kbps
使用編碼程式 : Lavf56.1.100

視訊
格式 : AVC [email protected]
格式設定, CABAC : 是
格式設定, RefFrames : 3 影格
編解碼器識別字 : 7
流量 : 300~480 Kbps
畫面寬高 : 400 像素 x 400 像素
顯示長寬比例 : 1.000
影格頻率模式 : 常數式
影格頻率 : 30.000 fps
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
掃描型態 : 漸進式
位元/(像素*影格) : 0.100

音訊
格式 : AAC
編解碼器識別字 : 10
流量 : 64.8 Kbps
聲道數 : 2 聲道
取樣率 : 44.1 KHz



VOD回顧畫質
整體流量模式 : 可變式
整體流量 : 360~550 Kbps
電影名稱 : [VIDEO_ID]
使用編碼程式 : Lavf56.4.101

視訊
識別字 : 1
格式 : AVC Baseline@L3
格式設定, CABAC : 否
格式設定, RefFrames : 5 影格
Format_Settings_GOP : M=1, N=90
編解碼器識別字 : avc1
流量 : 300~530 Kbps
畫面寬高 : 400 像素 x 400 像素
顯示長寬比例 : 1.000
影格頻率模式 : 常數式
影格頻率 : 26.949 fps / 30.000 fps
ColorSpace : YUV
ChromaSubsampling : 4:2:0
BitDepth/String : 8 bits
掃描型態 : 漸進式
編碼函式庫 : x264 core 142

音訊
識別字 : 2
格式 : AAC HE-AAC / LC
編解碼器識別字 : 40
流量模式 : 可變式
流量 : 20.0 Kbps
最大流量 : 450~1500 Kbps
聲道數 : 2 聲道
原始聲道數 : 1 聲道
聲道位置 : Front: C
取樣率 : 44.1 KHz / 22.05 KHz


--
Tags: Facebook

All Comments

Jack avatar
By Jack
at 2015-12-18T12:24
推一個
Tom avatar
By Tom
at 2015-12-22T19:47

標記朋友

Edith avatar
By Edith
at 2015-12-13T01:55
今天在打卡要標記朋友時 發現竟然搜尋不到他的名字 後來朋友在動態訊息隱私設定 也是有開啟允許標記 可是在標記朋友的部分 還是無法 有人知道是發生什麼狀況嗎? - ...

被強制轉粉絲專頁…奪舍??

Joe avatar
By Joe
at 2015-12-13T01:17
有爬過文…請問真的是被盜帳號?還是?我好友不到三百個…怎麼會………… 今天整天沒登錄,晚上想發個廢文發現忽然被強迫轉成粉絲專頁,且一定要管理員才能使 用… 原帳號密碼登錄會要求我改成粉絲頁面且增設管理員… 然後增設管理員也無法………… 好煩 ☑ 我確認我已經按 z 瀏覽過精華區且也用 / 功能搜尋過板面上相關 ...

新型的詐騙/釣魚手法?

Caitlin avatar
By Caitlin
at 2015-12-13T00:03
不太知道要怎麼下這個標題 總之就是被朋友標記在一篇文章裡然後跳出通知 不過點進去(下方有連結網址預覽) http://i.imgur.com/61vXuzl.png 卻發現自動轉址到明顯是詐騙/釣魚的網址 http://i.imgur.com/GF9A9xc.png 過幾秒後會自動要求安裝擴充功 ...

地圖打卡點全部消失

Audriana avatar
By Audriana
at 2015-12-12T22:33
※ 引述《califonia1 (真大叔無雙)》之銘言: : 有人也跟我一樣嘛? : 我發現我朋友的地圖都沒問題 : 但是我的地圖上打卡點都不見了,但左上角顯示打卡點4000多個 : https://www.facebook.com/ID/map : 已經回報FB官方, : 那每個點都是回億阿.....and ...

粉絲團留言

Lauren avatar
By Lauren
at 2015-12-12T20:34
在粉絲團詢問版主問題..都沒有得到回覆 可是其他粉絲留言,版主都有回覆... 請朋友看了一下 她說粉絲團並沒有看到我的留言 但我自己手機確定有留言成功 請問是FB 的問題,還是我被封鎖了... 謝謝... ----- Sent from JPTT on my HTC_M8x. - ...