파이썬에 rtmplib 바인딩을 사용하고 몇 가지 문제가 발생했습니다.16 진수 (?) 패킷 디코딩
첫째,
내가 이런 걸 가지고 : 아래 그림과 같이import librtmp
conn = librtmp.RTMP(...)
conn.connect()
while True:
packet = conn.read_packet().body
print packet
이 패킷을 출력됩니다 : 나 여기에
16 진수처럼 보이고, 다음과 같이 파일에 쓸 때 4 자 문자열을 얻습니다.
0200 086f 6e42 5744 6f6e 6500 0000 0000
0000 0000 0500 0000 0000 0000 0000 0200
066e 6f74 6963 6500 0000 0000 0000 0000
0502 0003 2a2a 2a02 000a 5072 6f63 6573
내 질문은 어떻게 읽을 수있는 텍스트만으로 실제 문자열 (또는 버퍼)로 바꿀 수 있습니까? 나는 16 진수를 해독하기 위해 여러 가지 방법을 시도했지만 결과는 "\ x05"로 끝납니다.
쓰는 경우에도 00을 많이 포함한다는 점을 언급 할 가치가 있습니다.
누구나 쉽게 알 수있는 방법을 쉽게 얻을 수 있습니까?
미리 감사드립니다.
일부 연구를 한 후에 구조체를 살펴 보겠습니다. 'print repr (packet)'을 사용하면 좀 더 읽기 쉬운 것을 인쇄 할 수 있습니다. 귀하의 제안에 감사드립니다! –
걱정 마세요 –
답변을 수락하고'librtmp.amf.decode_amf'라고하는 함수가 있음을 알아 냈습니다. 내가 RTMP를 사용하기 전에 amf를 생각하지 않는 어리석은 짓. –