ਤੁਹਾਡੀ ਨਿੱਜੀ HLS ਸਟ੍ਰੀਮ ਤੁਹਾਡੇ ਦਰਸ਼ਕਾਂ ਲਈ ਨਹੀਂ, ਤੁਹਾਡੇ ਲਈ ਲੋਡ ਹੁੰਦੀ ਹੈ
ਪੰਨਾ ਲੋਡ ਹੁੰਦਾ ਹੈ ਕਿਉਂਕਿ ਤੁਹਾਡਾ ਸਰਵਰ ਕੈਮਰੇ ਤੱਕ ਪਹੁੰਚਦਾ ਹੈ; ਬ੍ਰਾਊਜ਼ਰ ਫਿਰ ਵੀ ਪਲੇਲਿਸਟ ਲਿਆਉਂਦਾ ਹੈ। ਫੈਸਲਾ ਕਰੋ ਕਿ ਬੇਨਤੀ ਕੌਣ ਕਰਦਾ ਹੈ, ਫਿਰ ਚੇਨ ਜਾਂਚੋ।
ਤੁਸੀਂ ਲੈਪਟਾਪ ’ਤੇ ਪੰਨਾ ਜਾਂਚਦੇ ਹੋ, ਪਲੇਅਰ ਸ਼ੁਰੂ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਟਿਕਟ ਬੰਦ ਹੋ ਜਾਂਦੀ ਹੈ। ਦੂਜੇ ਪਾਸੇ ਦਾ ਦਰਸ਼ਕ ਉਹੀ ਪੰਨਾ ਖੋਲ੍ਹਦਾ ਹੈ ਅਤੇ ਇੱਕ ਘੁੰਮਦਾ ਸੰਕੇਤਕ ਪਾਉਂਦਾ ਹੈ ਜੋ ਕਦੇ ਪੂਰਾ ਨਹੀਂ ਹੁੰਦਾ। ਆਮ ਵਿਆਖਿਆ ਇਹ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ ਕਿ VPN ਸਰਵਰ ’ਤੇ ਹੈ, ਇਸ ਲਈ ਪਲੇਬੈਕ ਕੰਮ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ — ਪਰ ਪਲੇਲਿਸਟ ਮੰਗਣ ਵਾਲਾ ਹਿੱਸਾ ਬ੍ਰਾਊਜ਼ਰ ਹੈ, ਅਤੇ ਇਸ ਦਾ ਆਪਣਾ ਨੈੱਟਵਰਕ ਰਾਹ ਹੈ। ਨਿੱਜੀ ਪਹੁੰਚ ਵਾਲੇ ਸਰਵਰ ’ਤੇ ਏਮਬੈਡ ਕੀਤਾ ਪੰਨਾ ਉਹ ਪਹੁੰਚ ਉਸ ਨੂੰ ਉਧਾਰ ਨਹੀਂ ਦਿੰਦਾ ਜੋ ਇਸ ਨੂੰ ਲੋਡ ਕਰਦਾ ਹੈ।
ਇਹ http://10.5.5.9:8080/live/stream.m3u8 ਵਰਗਾ HLS ਸਰੋਤ ਚਲਾਉਣ ਵਾਲੇ ਮੌਜੂਦਾ ASP.NET ਪੰਨੇ ਬਾਰੇ ਹੈ; ਇਹ ਇੱਕ ਉਦਾਹਰਨੀ ਨਿੱਜੀ ਪਤਾ ਹੈ। ਦੋ ਬੰਦੋਬਸਤ ਕੰਮ ਕਰਦੀਆਂ ਹਨ; ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਇੱਕ ਸੰਭਵ ਤੌਰ ’ਤੇ ਉਹ ਨਹੀਂ ਜੋ ਤੁਸੀਂ ਬਣਾਇਆ ਹੈ।
ਭਰਮ: ਲੋਡ ਹੁੰਦਾ ਪੰਨਾ ਮੀਡੀਆ ਰਾਹ ਸਾਬਤ ਕਰਦਾ ਹੈ
ਉਸ ਪੰਨੇ ਦਾ HTML ਤੁਹਾਡੇ ਵੈੱਬ ਸਰਵਰ ਤੋਂ, ਤੁਹਾਡੇ ਵੈੱਬ ਸਰਵਰ ਕੋਲ ਜੋ ਵੀ ਰਸਤਾ ਹੈ ਉਸ ਰਾਹੀਂ ਆਉਂਦਾ ਹੈ। ਪਲੇਲਿਸਟ ਅਤੇ ਸੈਗਮੈਂਟ ਮੀਡੀਆ ਸਰੋਤ ਤੋਂ, ਬੇਨਤੀ ਕਰਨ ਵਾਲੇ ਹਿੱਸੇ ਕੋਲ ਜੋ ਵੀ ਰਸਤਾ ਹੈ ਉਸ ਰਾਹੀਂ ਆਉਂਦੇ ਹਨ। ਜਦੋਂ ਪਲੇਅਰ ਦਰਸ਼ਕ ਦੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਚੱਲਦਾ ਹੈ, ਤਾਂ ਇਹ ਦੋ ਵੱਖਰੇ ਕਲਾਇੰਟ, ਦੋ ਵੱਖਰੇ ਸਰੋਤ ਪਤੇ ਅਤੇ ਅਕਸਰ ਦੋ ਵੱਖਰੇ ਨਾਕਾਮੀ ਖੇਤਰ ਹੁੰਦੇ ਹਨ। ਪਹਿਲੇ ਨੂੰ ਸਫਲ ਹੁੰਦੇ ਦੇਖਣਾ ਦੂਜੇ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਦੱਸਦਾ।
ਤੁਹਾਡੀ ਜਾਂਚ ਨੇ ਅਸਲ ਵਿੱਚ ਜੋ ਸਾਬਤ ਕੀਤਾ ਉਹ ਦਿਖਣ ਨਾਲੋਂ ਕਿਤੇ ਤੰਗ ਹੈ: ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਇੱਕੋ ਸਮੇਂ ਜਨਤਕ ਪੰਨੇ ਅਤੇ ਨਿੱਜੀ ਮੀਡੀਆ ਹੋਸਟ ਦੋਵਾਂ ਤੱਕ ਪਹੁੰਚ ਸਕਦੀ ਹੈ। ਦਰਸ਼ਕ ਦੀ ਮਸ਼ੀਨ ਪ੍ਰਯੋਗ ਦਾ ਹਿੱਸਾ ਕਦੇ ਨਹੀਂ ਸੀ।
ਪਲੇਲਿਸਟ ਅੱਗੇ ਕੀ ਮੰਗਦੀ ਹੈ
RFC 8216 ਸੈਗਮੈਂਟ ਗਿਣਾਉਂਦੀਆਂ ਮੀਡੀਆ ਪਲੇਲਿਸਟਾਂ ਨੂੰ ਹੋਰ ਪਲੇਲਿਸਟਾਂ ਗਿਣਾਉਂਦੀਆਂ ਮਾਸਟਰ ਪਲੇਲਿਸਟਾਂ ਤੋਂ ਵੱਖ ਕਰਦਾ ਹੈ, ਅਤੇ ਸਾਪੇਖ URI ਨੂੰ ਉਸ ਪਲੇਲਿਸਟ ਦੇ URI ਦੇ ਹਵਾਲੇ ਨਾਲ ਹੱਲ ਕਰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਉਹ ਹਨ। ਲੋਕ ਜਿਸ ਨਿਯਮ ਨੂੰ ਛੱਡਦੇ ਹਨ ਉਹੀ ਇਹ ਹੈ। ਇੱਕ .m3u8 ਫ਼ਾਈਲ ਸਫਲਤਾਪੂਰਵਕ ਲਿਆਉਣਾ ਪਲੇਬੈਕ ਜਾਂਚ ਨਹੀਂ, ਕਿਉਂਕਿ ਲਿਆਈ ਫ਼ਾਈਲ ਸੂਚੀ ਹੈ, ਮੀਡੀਆ ਨਹੀਂ।
ਚੇਨ ਦਾ ਪਿੱਛਾ ਉਸੇ ਤਰ੍ਹਾਂ ਕਰੋ ਜਿਵੇਂ ਪਲੇਅਰ ਕਰਦਾ ਹੈ: ਚੁਣੀ ਪਲੇਲਿਸਟ ਖੋਲ੍ਹੋ, ਫਿਰ ਉਹ ਸਰੋਤ ਮੰਗੋ ਜਿਨ੍ਹਾਂ ਦਾ ਇਹ ਨਾਮ ਲੈਂਦੀ ਹੈ, ਫਿਰ ਕੋਈ ਵੀ ਰੀਡਾਇਰੈਕਟ ਪਿੱਛਾ ਕਰੋ। ਪਹੁੰਚਯੋਗ ਵੈੱਬ ਸਰਵਰ ਰਾਹੀਂ ਦਿੱਤੀ ਪਲੇਲਿਸਟ ਵੀ ਦਰਸ਼ਕ ਨੂੰ ਨਾ-ਪਹੁੰਚਯੋਗ ਨਿੱਜੀ ਪਤੇ ’ਤੇ ਭੇਜ ਸਕਦੀ ਹੈ। ਇਸੇ ਤਰ੍ਹਾਂ, ਸਾਪੇਖ ਪਲੇਲਿਸਟ ਨੂੰ ਹੋਰ URL ’ਤੇ ਲਿਜਾਣ ਨਾਲ ਉਹ ਆਧਾਰ ਬਦਲ ਜਾਂਦਾ ਹੈ ਜਿਸ ਦੇ ਹਵਾਲੇ ਨਾਲ ਇਸ ਦੀਆਂ ਐਂਟਰੀਆਂ ਹੱਲ ਹੁੰਦੀਆਂ ਹਨ, ਅਤੇ ਇਸੇ ਲਈ ਪਹਿਲਾ ਦਿਸਦਾ URL ਮੁੜ ਲਿਖ ਕੇ ਉੱਥੇ ਹੀ ਰੁਕਣਾ ਆਮ ਤੌਰ ’ਤੇ ਵੈਧ ਦਿਸਦੀ ਪਰ ਨਾ ਚੱਲ ਸਕਣ ਵਾਲੀ ਪਲੇਲਿਸਟ ਬਣਾਉਂਦਾ ਹੈ।
ਸਿੱਧਾ ਦੇਖਣਾ: ਦਰਸ਼ਕ ਨੂੰ ਰਾਹ ਚਾਹੀਦਾ ਹੈ
ਜੇ ਦਰਸ਼ਕਾਂ ਨੂੰ ਸਿੱਧਾ ਮੀਡੀਆ ਹੋਸਟ ਤੱਕ ਪਹੁੰਚਣਾ ਹੈ, ਤਾਂ ਉਨ੍ਹਾਂ ਦੇ ਯੰਤਰਾਂ ਨੂੰ ਮਨਜ਼ੂਰ VPN ਜਾਂ ਹੋਰ ਨਿੱਜੀ ਰਾਹ, ਤੁਸੀਂ ਅਸਲ ਵਿੱਚ ਵਰਤੇ ਨਾਮ ਹੱਲ ਕਰਨ ਵਾਲਾ DNS, ਉਨ੍ਹਾਂ ਮੰਜ਼ਿਲਾਂ ਤੱਕ ਪਹੁੰਚਣ ਦੀ ਇਜਾਜ਼ਤ, ਅਤੇ ਮੀਡੀਆ ਸੇਵਾ ਜੋ ਵੀ ਪ੍ਰਮਾਣਿਕਤਾ ਮੰਗਦੀ ਹੈ ਉਹ ਚਾਹੀਦੀ ਹੈ। ਹਰ ਚੀਜ਼ ਸਰਵਰ ’ਤੇ ਨਹੀਂ, ਦਰਸ਼ਕ ਦੇ ਯੰਤਰ ’ਤੇ ਜਾਂਚੋ। VPN ਪਰੋਫ਼ਾਈਲ ਇੰਸਟਾਲ ਪਰ ਜੁੜਿਆ ਨਾ ਹੋਇਆ ਫ਼ੋਨ ਦਾ ਬ੍ਰਾਊਜ਼ਰ ਆਮ ਅਤੇ ਪੂਰੀ ਤਰ੍ਹਾਂ ਦੁਹਰਾਉਣਯੋਗ ਨਾਕਾਮੀ ਹੈ।
ਇਹ ਬੰਦੋਬਸਤ ਸਰੋਤ ਨੂੰ ਨਿੱਜੀ ਰੱਖਦੀ ਹੈ ਅਤੇ ਪਹੁੰਚ ਦੀ ਮੰਗ ਦਰਸ਼ਕਾਂ ’ਤੇ ਪਾ ਦਿੰਦੀ ਹੈ। ਇਹ ਤਕਨੀਕੀ ਜਿੰਨਾ ਹੀ ਨੀਤੀਗਤ ਫੈਸਲਾ ਹੈ, ਇਸ ਲਈ ਇਸ ਦੇ ਆਲੇ-ਦੁਆਲੇ ਡਿਜ਼ਾਈਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਹਰ ਲਕਸ਼ਿਤ ਦਰਸ਼ਕ ਨੂੰ ਉਹ ਰਾਹ ਰੱਖਣ ਦੀ ਇਜਾਜ਼ਤ ਹੈ।
ਸਰਵਰ ਪਾਸਿਓਂ ਸਪੁਰਦਗੀ: ਇੱਕ ਨਿਯੰਤਰਿਤ ਦਾਖਲਾ ਬਿੰਦੂ
ਬਦਲ ਇੱਕ ਅਧਿਕਾਰਤ ਮੀਡੀਆ ਫਰੰਟਐਂਡ ਹੈ ਜੋ ਸਰੋਤ ਨੂੰ ਆਪਣੇ ਨਿੱਜੀ ਰਾਹ ਰਾਹੀਂ ਲਿਆਉਂਦਾ ਹੈ ਅਤੇ ਸਿਰਫ਼ ਦਰਸ਼ਕ ਵੱਲ ਦੇ ਸਰੋਤ ਮੁੜ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਪਲੇਲਿਸਟ, ਸੈਗਮੈਂਟ ਅਤੇ ਕੋਈ ਵੀ ਕੁੰਜੀ ਸਰੋਤ ਉਸੇ ਇੱਕ ਦਾਖਲਾ ਬਿੰਦੂ ਨਾਲ ਮੇਲ ਖਾਂਦੇ ਰੱਖੋ, ਨਹੀਂ ਤਾਂ ਪਲੇਅਰ ਮੁੜ ਲਿਖੀ ਪਲੇਲਿਸਟ ਫਰੰਟਐਂਡ ਰਾਹੀਂ ਅਤੇ ਸੈਗਮੈਂਟ ਸਿੱਧੇ ਉਸ ਪਤੇ ਤੋਂ ਲਿਆਵੇਗਾ ਜਿੱਥੇ ਦਰਸ਼ਕ ਪਹੁੰਚ ਨਹੀਂ ਸਕਦਾ।
ਉਸ ਫਰੰਟਐਂਡ ਵਿੱਚ ਸਰੋਤ ਅਤੇ ਮਨਜ਼ੂਰ ਰਾਹ ਸੀਮਤ ਕਰੋ। ਵਰਤੋਂਕਾਰ ਵੱਲੋਂ ਦਿੱਤਾ ਮਨਮਾਨਾ URL ਲਾਭਦਾਇਕ ਪ੍ਰਾਕਸੀ ਨੂੰ ਤੁਹਾਡੇ ਅੰਦਰੂਨੀ ਨੈੱਟਵਰਕ ਦਾ ਬੇਰੋਕ ਲਿਆਉਣ ਵਾਲਾ ਬਣਾ ਦਿੰਦਾ ਹੈ, ਜੋ ਨਾ ਚੱਲਣ ਵਾਲੀ ਸਟ੍ਰੀਮ ਨਾਲੋਂ ਕਿਤੇ ਵੱਡੀ ਸਮੱਸਿਆ ਹੈ। ਸਤਰ ਨੂੰ ਬਾਅਦ ਵਿੱਚ ਜਾਂਚਣ ਦੀ ਥਾਂ ਸਰੋਤ ਅਤੇ ਰਾਹ ਉਪਸਰਗ ਨੂੰ ਮਨਜ਼ੂਰ ਸੂਚੀ ਵਿੱਚ ਪਾਓ।
ਮੌਜੂਦਾ HLS ਸਰੋਤ ਲਈ, ਪਹਿਲਾਂ ਜਾਂਚੋ ਕਿ ਨਿਯੰਤਰਿਤ ਫਾਰਵਰਡਿੰਗ ਕਾਫ਼ੀ ਹੈ ਜਾਂ ਨਹੀਂ; ਵਿਚਕਾਰ VPN ਹੋਣ ਦਾ ਮਤਲਬ ਇਹ ਨਹੀਂ ਕਿ ਟਰਾਂਸਕੋਡਿੰਗ ਲਾਜ਼ਮੀ ਹੈ। ਫਿਰ ਅਸਲ ਬ੍ਰਾਊਜ਼ਰ ਅਤੇ ਕੋਡੈਕ ਸੰਜੋਗ ਜਾਂਚੋ, ਕਿਉਂਕਿ ਪਹੁੰਚਯੋਗ ਜਵਾਬ ਅਤੇ ਸਮਰਥਿਤ ਫਾਰਮੈਟ ਦੋ ਵੱਖਰੀਆਂ ਸ਼ਰਤਾਂ ਹਨ। ਸਰੋਤ ਦੀ TLS, ਪ੍ਰਮਾਣਿਕਤਾ ਅਤੇ ਬ੍ਰਾਊਜ਼ਰ ਸੁਰੱਖਿਆ ਲੋੜਾਂ ਨੂੰ ਜਿਉਂ ਦਾ ਤਿਉਂ ਰੱਖੋ — ਏਮਬੈਡ ਪਲੇਅਰ ਉਨ੍ਹਾਂ ਤੋਂ ਛੋਟ ਨਹੀਂ।
URL ਨਹੀਂ, ਚੇਨ ਜਾਂਚੋ
ਜਾਂਚਾਂ ਉਸ ਹਿੱਸੇ ਤੋਂ ਚਲਾਓ ਜੋ ਅਸਲ ਵਿੱਚ ਹਰ ਬੇਨਤੀ ਕਰੇਗਾ, ਅਤੇ ਹਰ ਕਦਮ ਨੂੰ ਆਪਣਾ ਨਤੀਜਾ ਮੰਨੋ:
curl -s http://10.5.5.9:8080/live/stream.m3u8
curl -s -o /dev/null -w '%{http_code}\n' http://10.5.5.9:8080/live/segment-000123.tsਫਿਰ ਇਸ ਨੂੰ ਦਰਸ਼ਕ ਦੇ ਆਪਣੇ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਲਕਸ਼ਿਤ ਸਟ੍ਰੀਮ ਨਾਲ ਦੁਹਰਾਓ, ਤੁਹਾਡੇ ਡੈਸਕ ਦੇ ਜਾਂਚ ਪੈਟਰਨ ਨਾਲ ਨਹੀਂ। ਪੰਨਾ ਲੋਡ, ਪਲੇਲਿਸਟ ਲੋਡ, ਸੈਗਮੈਂਟ ਲਿਆਉਣਾ ਅਤੇ ਇਜਾਜ਼ਤ ਨਾਕਾਮੀ ਚਾਰ ਵੱਖਰੇ ਨਤੀਜੇ ਹਨ, ਅਤੇ ਇਸ ਨੂੰ ਠੀਕ ਕਿਹਾ ਕਹਿਣ ਤੋਂ ਪਹਿਲਾਂ ਤੁਸੀਂ ਚਾਰੇ ਦੇਖਣਾ ਚਾਹੋਗੇ। ਪੁਰਾਣੇ ਉਦਾਹਰਨ ਨੇ ਇੱਕ ਸਟ੍ਰੀਮ ਇਸ ਤਰ੍ਹਾਂ ਚਲਾਇਆ ਸੀ ਇਸ ਲਈ ਪੁਰਾਣਾ ਬ੍ਰਾਊਜ਼ਰ ਪਲੱਗਇਨ ਨਾ ਲਗਾਓ; ਗੁੰਮ ਹਿੱਸਾ ਆਮ ਤੌਰ ’ਤੇ ਦਰਸ਼ਕ ਦਾ ਰਾਹ ਜਾਂ ਬਿਨਾਂ ਦਸਤਖ਼ਤ ਵਾਲਾ ਸੈਗਮੈਂਟ URL ਹੁੰਦਾ ਹੈ।
ਬੰਦੋਬਸਤ ਜਾਣ-ਬੁੱਝ ਕੇ ਚੁਣੀ ਹੋਣ ’ਤੇ ਇਸ ਨੂੰ ਇੱਕ ਲਾਈਨ ਵਿੱਚ ਲਿਖੋ: ਮੀਡੀਆ ਕੌਣ ਲਿਆਉਂਦਾ ਹੈ, ਕਿਹੜੇ ਰਾਹ ਤੋਂ, ਅਤੇ ਦਰਸ਼ਕ ਨੂੰ ਕੀ ਮੰਗਣ ਦੀ ਇਜਾਜ਼ਤ ਹੈ। ਉਹ ਵਾਕ ਹੀ ਸਟ੍ਰੀਮ ਅਸਲ ਵਿੱਚ ਕਿਸ ਲਈ ਹੈ ਬਾਰੇ ਭਵਿੱਖ ਦੀਆਂ ਜ਼ਿਆਦਾਤਰ ਬਹਿਸਾਂ ਨਿਪਟਾ ਦਿੰਦਾ ਹੈ।