VIDEOCUBE
[ 구조분석 ] [ TS 헤더 분석 ] 47 40 11 10 : 0100 0000 ( 40 ) , 0001 0001 ( 11 ) , 0001 0000 ( 10 ) 47 40 00 10 : 0100 0000 ( 40 ) , 0000 0000 ( 0 ) , 0001 0000 ( 10 ) 47 50 00 10 : 0101 0000 ( 50 ) , 0000 0000 ( 0 ) , 0001 0000 ( 10 ) 47 41 00 30 : 0100 0001 ( 41 ) , 0000 0000 ( 0 ) , 0011 0000 ( 30 ) 47 01 00 11 : 0000 0001 ( 01 ) , 0000 0000 ( 0 ) , 0001 0001 ( 11 ) 47 01 00 36 : 0000 0001 ( 01 ) , 00..
ffmpeg 을 이용하여 해당 파일을 ts 화 하였습니다.ffmpeg -y -i ../BigBuckBunny.mp4 -f segment -c:v copy -c:a copy -segment_format mpegts -segment_list_flags -cache -segment_time 10 -segment_start_number 1 -segment_list BigBuckBunny.m3u8 BigBuckBunny-%d.tstest 폴더에 넣고 각 ts 를 분석하는 과정입니다. 1. TS 파일 내에 188바이트씩 나열이 되어 있으며, 최초로 시작되는 1 바이트는 47로 고정되어 있습니다.2. TS Header 분석 [ Video ] 47 40 11 10 : 0100 0000 ( 40 ) , 0001 0001..
사용자가 요구한 시간의 값으로 MP4 의 정보에서 stts 값으로 해당 시간값을 분석하였다. 해당 시간 값을 분석하여 샘플의 위치를 구하고 샘플의 사이즈를 구하고자 한다.mp4 는 chunk 단위로 샘플의 개수를 나타나는데, stts 의 샘플의 위치로 stsc의 sample_per_chunk 의 개수를 통해서 chunk_index 를 구해올 수 있다. 여기서 구해진 chunk_index 는 stco 의 배열의 위치를 가르키게 되는데 chunk_index 는 1번이지만 stco 의 위치는 배열의 첫번째 0 부터 시작한다 해서 chunk_index 의 값의 -1 을 하게 되면 stco 의 위치를 가르키게 됩니다. 샘플의 위치를 이용하여 stsz 에서 사이즈를 가져옵니다.chunk_index 의 값은 각 샘플..
이전 작업으로 MP4 를 이용한 분석을 통해서 샘플데이터를 추출해 볼 수 있습니다. 또한 HLS 를 이용하여 segment list 를 추출해 줄 수도 있습니다. 이제는 TS 를 만들어야 합니다.사용자로 하여금 요구된 시간만큼 TS 로 muxing 을 해야 합니다. 다음 조건을 충족해야 합니다. 해당 조건은 요구된 시간입니다.ㄴ 시간 정보를 통해서 샘플의 데이터를 가져와야 합니다. ㄴ 사용자가 요구하는 시간의 시작지점과 요구되는 duration 값을 받습니다. 예를 0초 부터 10초 10초 부터 20 초간격의 데이터를 요구하는 경우 다음과 같이 받도록 합니다. 0초 부터 10초 ( 0, 10 ) 10초 부터 20 초 ( 1, 10 ) 첫번째는 sequence, 두번째는 duration 으로 칭합니다. 저..