#8710 closed defect (invalid)
HTTP error 403 Forbidden when open an mpd url (MPEG-DASH) from facebook video
Reported by: | Farley Lai | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Built with dash support but when opening a dash mpd url corresponding to a facebook live stream, "HTTP error 403 Forbidden" is returned as follows.
However, VLC is able to play the mpd url without any issue.
Any ideas?
$> ffprobe version 4.2.3 Copyright (c) 2007-2020 the FFmpeg developers built with gcc 7.3.0 (crosstool-NG 1.23.0.449-a04d0) configuration: --prefix=/home/ml/farleylai/miniconda3/envs/sinet37 --cc=/home/ml/farleylai/miniconda3/envs/sinet37/conda-bld/ffmpeg_1591228974768/_build_env/bin/x86_64-conda_cos6-linux-gnu-cc --disable-doc --disable-openssl --enable-avresample --enable-demuxer=dash --enable-gnutls --enable-gpl --enable-hardcoded-tables --enable-libfreetype --enable-libopenh264 --enable-libx264 --enable-pic --enable-pthreads --enable-shared --enable-static --enable-version3 --enable-libxml2 --enable-zlib --enable-libmp3lame libavutil 56. 31.100 / 56. 31.100 libavcodec 58. 54.100 / 58. 54.100 libavformat 58. 29.100 / 58. 29.100 libavdevice 58. 8.100 / 58. 8.100 libavfilter 7. 57.100 / 7. 57.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 5.100 / 5. 5.100 libswresample 3. 5.100 / 3. 5.100 libpostproc 55. 5.100 / 55. 5.100 [NULL @ 0x55e2b03331c0] Opening 'https://video-dfw5-1.xx.fbcdn.net/hvideo-prn2-frc/_nc_cat-107/v/rh9reyEfDyAckn2On4dEG/live-dash/dash-abr-ibr-audio/3246902542042931.mpd?_nc_rl=AfC78hI2eTCtKuFO' for reading [https @ 0x55e2b0333bc0] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy' [tcp @ 0x55e2b0335c40] Original list of addresses: [tcp @ 0x55e2b0335c40] Address 157.240.19.20 port 443 [tcp @ 0x55e2b0335c40] Address 2a03:2880:f034:13:face:b00c:0:1823 port 443 [tcp @ 0x55e2b0335c40] Interleaved list of addresses: [tcp @ 0x55e2b0335c40] Address 157.240.19.20 port 443 [tcp @ 0x55e2b0335c40] Address 2a03:2880:f034:13:face:b00c:0:1823 port 443 [tcp @ 0x55e2b0335c40] Starting connection attempt to 157.240.19.20 port 443 [tcp @ 0x55e2b0335c40] Successfully connected to 157.240.19.20 port 443 [https @ 0x55e2b0333bc0] request: GET /hvideo-prn2-frc/_nc_cat-107/v/rh9reyEfDyAckn2On4dEG/live-dash/dash-abr-ibr-audio/3246902542042931.mpd?_nc_rl=AfC78hI2eTCtKuFO HTTP/1.1 User-Agent: Lavf/58.29.100 Accept: */* Range: bytes=0- Connection: close Host: video-dfw5-1.xx.fbcdn.net Icy-MetaData: 1 [https @ 0x55e2b0333bc0] HTTP error 403 Forbidden https://video-dfw5-1.xx.fbcdn.net/hvideo-prn2-frc/_nc_cat-107/v/rh9reyEfDyAckn2On4dEG/live-dash/dash-abr-ibr-audio/3246902542042931.mpd?_nc_rl=AfC78hI2eTCtKuFO: Server returned 403 Forbidden (access denied)
PS:
The live video urls from facebook are changing.
As mentioned in #7540, one can browse current live streams at https://www.facebook.com/livemap (a facebook account to log in may be necessary).
The video URL can be copied by clicking the three dot option on the top right corner (Copy Link).
A straightforward way to get the mpd url is using youtube-dl that can be installed through conda:
conda install -c conda-forge youtube-dl
Then the mpd url can be retrieved as follows (Here is an example. Please get a live one instead),
$> youtube-dl -g https://www.facebook.com/thenational/videos/675435893241531/ https://video-dfw5-1.xx.fbcdn.net/hvideo-atn3-prn/bhost_video-den4-1.xx/_nc_cat-1/v/rine4ddLcnIFSNpsvsQYG/live-dash/dash-abr-ibr-audio/10157549607307686.mpd?_nc_rl=AfC15-gDFaUQGQHO&ms=m_CT&oh=b3d591a680205f940394ed08bae6e1bb&oe=5EDA00B5
Change History (5)
comment:1 by , 5 years ago
comment:2 by , 5 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
comment:3 by , 5 years ago
It is a duplicate of #6384 where the quotes are essential when running from the terminal.
comment:4 by , 5 years ago
Resolution: | worksforme → wontfix |
---|
you could use the command line:
ffmpeg -i "https://video-lax3-1.xx.fbcdn.net/v/t42.1790-29/10000000_1436138333253083_7347705215175523037_n.mp4?_nc_cat=103&_nc_sid=5aebc0&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfbGl2ZV9oZDFfdHJpbW1lZF9mcmFnXzJfdmlkZW8ifQ==&_nc_ohc=ThmsnbiG10IAX83DPU5&_nc_ht=video-lax3-1.xx&oh=b55f2d8682061ac4bb160074f7fd18cf&oe=5ED87CA2"
not
ffmpeg -i https://video-lax3-1.xx.fbcdn.net/v/t42.1790-29/10000000_1436138333253083_7347705215175523037_n.mp4?_nc_cat=103&_nc_sid=5aebc0&efg=eyJ2ZW5jb2RlX3RhZyI6ImRhc2hfbGl2ZV9oZDFfdHJpbW1lZF9mcmFnXzJfdmlkZW8ifQ==&_nc_ohc=ThmsnbiG10IAX83DPU5&_nc_ht=video-lax3-1.xx&oh=b55f2d8682061ac4bb160074f7fd18cf&oe=5ED87CA2
because the "&" is turn the task to background in terminal.
comment:5 by , 5 years ago
Resolution: | wontfix → invalid |
---|
Does not sound like a behaviour that we could fix but decided not to.
it ok here.