투케이2K

328. (TWOK/ERROR) [AWS] Kvs HLS 라이브 스트리밍 주소 확인 Missing StartTimestamp 에러 발생 본문

투케이2K 에러관리

328. (TWOK/ERROR) [AWS] Kvs HLS 라이브 스트리밍 주소 확인 Missing StartTimestamp 에러 발생

투케이2K 2025. 9. 8. 21:33
728x90

[환경 설정 및 설명]

프로그램 : AWS

설 명 : [AWS] Kvs HLS 라이브 스트리밍 주소 확인 Missing StartTimestamp 에러 발생

 

[설 명]

--------------------------------------------------------------------------
[개발 및 테스트 환경]
--------------------------------------------------------------------------

- 제목 : [AWS] Kvs HLS 라이브 스트리밍 주소 확인 Missing StartTimestamp 에러 발생


- 테스트 환경 : AWS / Lambda / Function


- 사전) HLS 개념 설명 : 

  >> HTTP 라이브 스트리밍으로 인터넷을 통해 소비자에게 미디어 콘텐츠를 제공하는 데 사용되는 스트리밍 프로토콜입니다

  >> HLS 는 Apple 장치에서 지원하는 유일한 형식입니다

  >> 미디어는 h.264 또는 h.265 인코딩된 비디오를 포함해야 하며 AAC 인코딩된 오디오는 선택 사항입니다

  >> 미디어 타입 유효한 값의 예로는 "video/h264" 및 "video/h264,audio/aac" 가 있습니다


- 사전) PlaybackMode 설명 : 

  >> 라이브, 라이브 재생 또는 아카이브된 온디맨드 데이터를 검색할지 여부입니다

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[에러 원인]
--------------------------------------------------------------------------

1. AWS 람다에서 get_hls_streaming_session_url 호출 시 PlaybackMode 가 LIVE_REPLAY 인 경우 필수 파라미터 StartTimestamp 가 누락되어 발생하는 이슈


2. 에러 발생 API 호출 예시 : 

	kvs_media_client = boto3.client(
		"kinesis-video-archived-media", 
		aws_access_key_id = iamAccessKey, # iam accessKey
		aws_secret_access_key = iamSecretKey, # iam secretKey
		region_name = iamRegion,
		endpoint_url=dataEndpoint # GET_HLS_STREAMING_SESSION_URL 요청 DataEndpoint 정보
	)			

	hls_response = kvs_media_client.get_hls_streaming_session_url(
		StreamName=stream_name,
		PlaybackMode="LIVE_REPLAY",  # 또는 "LIVE" / "LIVE_REPLAY" 이전 데이터 부터 재생을 하므로 끊김 최소화 : AWS 콘솔 대시보드도 동일 설정
		HLSFragmentSelector={
			'FragmentSelectorType': 'SERVER_TIMESTAMP',
			'TimestampRange': {
				
			}
		}
	)

2. 에러 발생 로그 전문 : 

	{
	"statusCode": 400,
	"headers": {
		"Content-Type": "application/json",
		"Access-Control-Allow-Origin": "*"
	},
	"body": "{\"exception\": \"ClientError\", \"error_code\": \"InvalidArgumentException\", \"error_message\": \"Missing StartTimestamp.\"}"
	}

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[해결 방법]
--------------------------------------------------------------------------

1. AWS 람다에서 kvs_media_client.get_hls_streaming_session_url 요청 시 StartTimestamp 값을 지정해 호출 하도록 코드 변경


2. 변경 된 API 호출 예시 : 

	kvs_media_client = boto3.client(
		"kinesis-video-archived-media", 
		aws_access_key_id = iamAccessKey, # iam accessKey
		aws_secret_access_key = iamSecretKey, # iam secretKey
		region_name = iamRegion,
		endpoint_url=dataEndpoint # GET_HLS_STREAMING_SESSION_URL 요청 DataEndpoint 정보
	)
			
	# 현재 타임스탬프
	timestamp_now = time.time()

	# 30초 이전 타임스탬프
	timestamp_before_30s = timestamp_now - 30

	print("현재 타임스탬프 :: ", timestamp_now)
	print("30초 전 타임스탬프 :: ", timestamp_before_30s)

	hls_response = kvs_media_client.get_hls_streaming_session_url(
		StreamName=stream_name,
		PlaybackMode="LIVE_REPLAY",  # 또는 "LIVE" / "LIVE_REPLAY" 이전 데이터 부터 재생을 하므로 끊김 최소화 : AWS 콘솔 대시보드도 동일 설정
		HLSFragmentSelector={
			'FragmentSelectorType': 'SERVER_TIMESTAMP',
			'TimestampRange': {
				'StartTimestamp': timestamp_before_30s,  
                # 'EndTimestamp': 0
			}
		}
	)

--------------------------------------------------------------------------





--------------------------------------------------------------------------
[참고 사이트]
--------------------------------------------------------------------------

[Aws Kinesis Video Streams] Aws KVS 비디오 스트림 , 신호 전송 채널 차이점 설명 정리

https://blog.naver.com/kkh0977/223854439046?trackingCode=blog_bloghome_searchlist


[Aws Kvs HSL 비디오 스트림 녹화 영상 관련 학습 정리]

https://blog.naver.com/kkh0977/223855980812?trackingCode=blog_bloghome_searchlist


[자바스크립트 AWS Kvs HLS 비디오 스트림 채널 생성 수행 - createStream]

https://blog.naver.com/kkh0977/223916957964


[자바스크립트 AWS Kvs HLS 비디오 스트림 채널 삭제 수행 - deleteStream]

https://blog.naver.com/kkh0977/223918327833


[자바스크립트 AWS Kvs HLS 뷰어 ( Viewer ) 라이브 스트리밍 동영상 재생 수행]

https://blog.naver.com/kkh0977/223997357092

--------------------------------------------------------------------------
 
728x90
반응형
Comments