LAVFilters
LAVFilters copied to clipboard
An m3u8 problem
This NASA stream fails to play with LAV 0.77.1 in an app on Win 10:
https://ntv1.akamaized.net/hls/live/2014075/NASA-NTV1-HLS/master_2000.m3u8
The error occurs at IFileSourceFilter::Load(). Note I call ILavFSettings SetRuntimeConfig(TRUE).
The stream plays fine using LAV 0.74.1 and 0.70.2.
Not sure what to make of it.
Confirmed.
It fails with LAV Splitter Source but works with File Source URL + LAV Splitter.
So likely related to HTTPS protocol changes in FFmpeg.
~~BTW, 0.67.0 is the last to play this stream, 0.67.1 fails.~~ Oops, bad brain! BTW, 0.76.0 is the last to play this stream, 0.76.1 fails.
It's my fault https://github.com/Nevcairiel/LAVFilters/commit/5da67b51f10462ae248fbf143ca3c7ac11056a58
This stream works only without referer or with https://www.nasa.gov/.
I would argue tho it is more common to see streams to not work without referer if any filtering is done. Hence the change to improve "compatibility", but obviously it is not always universal. I have network.http.referer.spoofSource (which does the same thing as LAV basically) in Firefox set and it is very rare for things to not work.
Possible workaround in FFmpeg code could be to retry with empty referrer in case of a http 403 with self referrer set.
Hello! How to use referrer to avoid 403 in mpc-hc
@Nevcairiel If I'm not wrong in the latest code there are 2 cases:
- pszReferrer == NULL => send fileName as referer
- pszReferrer != NULL => send it as referer
Is it possible to add anoter case please?
- pszReferrer == empty string => do NOT send the referer header
The latest revision should allow that
You can refer to the following implementations