일반적인 비디오 형식 (MPEG-1/2/4, .wmv, .mov 등)의 프레임 시작 코드 목록을 아는 사람 (또는 포함 된 리소스를 알고있는 사람)이 있습니까?비디오 코덱 시작 코드
예를 들어, MPEG-1 비디오 프레임은 항상 "00 00 01 00"으로 시작합니다.
본질적으로 여러 가지 비디오 형식의 여러 비디오에 걸쳐 프레임의 시작 부분을 자동으로 찾을 수있는 프로그램을 작성할 수 있도록 이러한 기능을 알고 싶습니다.
일반적인 비디오 형식 (MPEG-1/2/4, .wmv, .mov 등)의 프레임 시작 코드 목록을 아는 사람 (또는 포함 된 리소스를 알고있는 사람)이 있습니까?비디오 코덱 시작 코드
예를 들어, MPEG-1 비디오 프레임은 항상 "00 00 01 00"으로 시작합니다.
본질적으로 여러 가지 비디오 형식의 여러 비디오에 걸쳐 프레임의 시작 부분을 자동으로 찾을 수있는 프로그램을 작성할 수 있도록 이러한 기능을 알고 싶습니다.
달성하고자하는 것은 무엇입니까?
비디오 컨테이너 유형이 어떻게 구성되어 있습니까?
예를 들어보기 : http://www.daubnet.com/formats/AVI.html AVI 파일을 구성하는 방법에 대한 설명입니다
. Google은 다른 컨테이너 파일 형식을 찾는 데 도움을 줄 수 있습니다.
비디오를 녹화 할 때는 일반적으로 개별 프레임으로 구성되며 디렉토리의 개별 비트 맵 파일을 생각해보십시오.
동영상의 파일이 하나 뿐이므로 프레임의이 스트림은 내용을 설명하는 헤더와 프레임이 파일에 순차적으로 저장되는 특정 레이아웃이있는 컨테이너에 저장됩니다. 내 자신의 컨테이너
간단한 예 :
{
struct header
{
unsigned int frametype;
unsigned int framesize;
};
byte* readFrame(header* pHdr, int frameNum)
{
byte* pFirstFrame = ((byte*) pHdr) + sizeof(header);
return pFristFrame + frameNum * pHdr->framesize;
}
}
여러 다른 컨테이너 종류가 있습니다. AVI는 이러한 컨테이너 유형 중 하나입니다. 개별 프레임을 가져 오려면 파일의 헤더를 해석 한 다음 해당 정보를 기반으로 구문 분석 할 프레임의 위치를 계산해야합니다.
avi 파일 형식의 정의에 대한 링크를 게시했습니다. mpeg/mkv/ogm 파일 형식에 대한 정보를 얻을 수있는 다른 곳이 있습니다.
프로그램을 작동 시키려면이 정보가 필요합니다.
압축 된 형식은 모든 개별 프레임을 독립적으로 보호하지 못합니다. 이들은 개별 프레임과 몇 개의 중간 프레임을 안전하게 유지합니다. 여기에는 현재 프레임이 마지막 전체 프레임과 다른 점에 대한 정보 만 들어 있습니다. 따라서 모든 프레임 번호에서 완전한 프레임을 추출 할 수는 없습니다.