Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dekryptowanie pliku wideo
Forum PHP.pl > Forum > Przedszkole
tinware
Cześć,

Chciałem przedstawić Wam bardzo nietypowy program, z którego napisaniem mam problem.

Przedstawię budowę playlisty HLS (.m3u8)
Cytat
#EXT-X-KEY:METHOD=AES-128,URI="key/01.key",IV=0x00000000000000000000015FA0E49B00
#EXTINF:9.480,
segment/01.ts


Według tych informacji tworzę zmienne w PHP
  1. $segment = file_get_contents("01.ts");
  2. $key_method = "AES-128-CBC";
  3. $key_value = file_get_contents("01.key");
  4. $key_iv = "0x00000000000000000000015FA0E49B00";


A następnie chciałbym ten plik dekryptować, np.
  1. $decrypt = openssl_decrypt($segment, $key_method, $key_value, $key_iv);


Oraz wyświetlić:
  1. header('Content-Type: application/octet-stream');
  2. header('Content-Disposition: attachment; filename="decrypt.ts"');
  3. echo $decrypt;


Niestety, napisany program zwraca wartość:
strlen($decrypt) = 0

Do swojego postu załączam pliki:
http://www49.zippyshare.com/v/YPvFtTW6/file.html

A w nim:
* playlista 01.m3u8 z segmentem 01.ts i kluczem 01.key działa prawidłowo w VLC, po dekryptowaniu przez mój program zwraca wartość zero
* playlista 02.m3u8 z segmentem 02.ts i kluczem 02.key działa prawidłowo w VLC, po dekryptowaniu przez mój program zwraca prawidłową wartość strlen(), ale nie mogę odtworzyć tego pliku już w VLC, działa natomiast w Media Player Classic


Nie rozumiem - dlaczego?
Proszę o pomoc
nospor
Napisales kod, ktory robi co chcesz. W czym problem?
tinware
Cytat(nospor @ 9.11.2017, 16:22:46 ) *
Napisales kod, ktory robi co chcesz. W czym problem?


Sprawdź proszę mój post jeszcze raz. Wysłałem go przypadkiem zbyt wcześniej, przed napisaniem całej treści
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.