1

Appleopenssl aes-128 encryptionのストリーミング メディアに使用しています。HLS video streaming

以下は、aes-128 encryption

openssl aes-128-cbc -salt -k <HEXKey> -iv <HEXIV> -in <INFILE> -out <OUTFILE>

以下のPlaylist / Indexファイルは、hls ストリーミングに使用されています。

#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:NO
#EXT-X-VERSION:2
#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xxxx.xxx/key.txt",IV=0x00000000000000000000000000000000
#EXT-X-TARGETDURATION:10
#EXTINF:10,
http://xxx.xxxx.xxx/encry.ts
#EXT-X-ENDLIST  

ここで、key.txtには、フォームの 16 進キーが含まれます0x00000000000000000000000000000000

しかし、これは機能しておらず、IOSデバイスでメディアを再生していません。としてエラーを提供しますThis movie could not be played

よくわかりませんが、何が問題なのですか。この問題は、encryption methodまたはplaylist file

私を助けてください。感謝します。

前もって感謝します

編集 :

私は、いくつかの情報の下に、何か問題がある場合に役立つかもしれないと感じました.

key以下は、16進数と16進数の作成に使用するコマンドですIV

openssl enc -aes-128-cbc -k String@MyKey -P -md sha1

何か問題があれば助けてください。

現在、プレイリスト ファイルは で正常に解析されていますMedia Stream Validatorが、メディアの検証中に以下のエラーが発生します。

unable to parse segment due to encryption

誰か助けてください。

4

4 に答える 4

3

あなたの問題は、実際にはファイル「key.txt」にあります。HLS 仕様によると、#EXT-X-KEY タグ内の URI 属性は、提供する 16 進文字列ではなく、バイナリ形式の 16 オクテットの配列を持つファイルを指している必要があります。

詳細については、https ://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-10#section-5 を参照してください。

于 2012-11-06T11:53:34.577 に答える
2

さて、実際の問題は、key.txt数時間前に見つけたばかりのファイルでした。Mykey.txtには が含まれていてはなりませんが、キーhexkeyが含まれている必要があり16bytesます。

したがって、私のキー作成方法と暗号化方法とplaylistファイルの両方での使用は、間違ったステップでした。

以下は、私が行った変更とその開始です。

キー作成コマンド

openssl rand -base64 12 

このキーを key.txt ファイルに追加し、index.m3u8 ファイルがこのキー ファイルを指すようにしました。

暗号化のコマンド、上記のキーの c# を使用して hexdump を使用<hex-key>

openssl aes-128-cbc -e -in <infile> -out <outfile> -p -nosalt -iv <hex-iv>  -K <hex-key>
于 2012-11-06T14:15:13.793 に答える
0

EXT-X-KEY 構文が間違っています:

キー uri の前は、 KeyではなくURIにする必要があります。

#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xxxx.xxx/key.txt",IV=0x00000000000000000000000000000000
于 2012-10-24T14:28:36.683 に答える