Hello! When I use nginx-vod-module to implement video services and HLS encryption to protect my video, I can only use php service as vod_hls_encryption_key_uri. Java Spring service uri seems can't be accepted by my video player.
The following is a list of my running environment configurations.
host OS: windows 10
docker desktop v4.20.1
docker images running nginx-vod-module: centos7.9.2009
nginx: nginx-1.20.1
nginx-vod-module: 91005e14a9055f16a916c3e9fa31ceb51292e926
docker images running nginx for proxy PHP: latest
docker images running PHP: 7.1.0-fpm
docker images running mysql for java spring: 5.7
Java spring service is running on my host machine and all containers are under the same docker net.
Video Player: potplayer 200908(1.7.21295) or VLC media player 3.0.18 vetinari.
Here is my nginx.conf
I can use encoding methods both java and php but decoding method only php. I haven't got any error meaage in error.log but only "[notice] 121#121: signal process started". And I can open any decode urls in the host's browser (http://127.0.0.1:8763/decodekey or http://127.0.0.1:8880/base64key/decodeKey.php) andI implemented a Python script to obtain the return values of two different urls to verify if they are consistent. I think my video player can obtain the correct decryption key whether I use Java or PHP services.
import requests
import re
response1 = requests.get('http://127.0.0.1:8880/base64key/decodeKey.php')
response2 = requests.get('http://127.0.0.1:8763/decodekey')
print(response1.text.encode('utf-8'))
print(response2.text.encode('utf-8'))
pattern = re.compile("^" + response1.text + "$")
match = pattern.match(response2.text)
if match is not None:
print("yes")
else:
print("no")
So why I can use php vod_hls_encryption_key_uri instead of java one?
Any help means a lot to me. Thanks!
Hello! When I use nginx-vod-module to implement video services and HLS encryption to protect my video, I can only use php service as vod_hls_encryption_key_uri. Java Spring service uri seems can't be accepted by my video player. The following is a list of my running environment configurations. host OS: windows 10 docker desktop v4.20.1 docker images running nginx-vod-module: centos7.9.2009 nginx: nginx-1.20.1 nginx-vod-module: 91005e14a9055f16a916c3e9fa31ceb51292e926 docker images running nginx for proxy PHP: latest docker images running PHP: 7.1.0-fpm docker images running mysql for java spring: 5.7 Java spring service is running on my host machine and all containers are under the same docker net. Video Player: potplayer 200908(1.7.21295) or VLC media player 3.0.18 vetinari. Here is my nginx.conf
Here is my java spring' file jdbcController.java
Here is my base64key.php and decodeKey.php
I can use encoding methods both java and php but decoding method only php. I haven't got any error meaage in error.log but only "[notice] 121#121: signal process started". And I can open any decode urls in the host's browser (http://127.0.0.1:8763/decodekey or http://127.0.0.1:8880/base64key/decodeKey.php) andI implemented a Python script to obtain the return values of two different urls to verify if they are consistent. I think my video player can obtain the correct decryption key whether I use Java or PHP services.
So why I can use php vod_hls_encryption_key_uri instead of java one? Any help means a lot to me. Thanks!