PMP 형식 상세 설명

PMP 형식 상세 설명:유명한 조 니 는 PMP 형식 을 디자인 하여 작은 P 로 고 품질의 영상 음 을 감상 할 수 있 도록 했다.  하지만 버 전이 추진 되면 서 PMP 1.0 이 나 왔 다. PMP2.0, PMP-AVC, 이 명사 와 개념 들 은 여러분 을 곤 혹 스 럽 게 할 수 있 습 니 다.지금 은 제 연구 와 이해 에 따라 이 명사 들 의 뜻 을 설명해 드 리 겠 습 니 다.  【PMP 형식]  PMP 는 jonny 가 디자인 한 비디오 오디 오 패 키 징 형식 으로 AVI 처럼 패 키 징 된 용기 형식 일 뿐이다.  PMP 형식 은 현재 두 가지 버 전 만 있 고 하 나 는 1.0 입 니 다. 하 나 는 2.0.  PMP 1.0 은 MP4V 스 트림(xvid, divx)와 MP3 흐름(그리고 CBR 이 요구 되 며 샘플링 율 은 44100),  파일 헤더 부터 순서 구 조 는 다음 과 같 습 니 다.  4 바이트:반드시"pmpm",pmp 의 표지 입 니 다.  4 바이트:버 전 번호,0,버 전 1.0  4 바이트:비디오 프레임 총수  4 바이트:비디오 너비  4 바이트:비디오 높이  4 바이트:비디오 스 케 일  4 바이트:동 영상 속도 , 주의:비디오 프레임 율 fps = rate/scale  4 바이트:최대 비디오 프레임 크기  비디오 프레임 총수×4 개의 바이트:각 프레임 의 비디오 인덱스,각 인덱스 4 개의 바이트,가장 낮은 비트 비트 비트 는 관건 적 인 프레임 여 부 를 표시 하고 나머지 31 비트 비트 는 프레임 의 크기 를 표시 합 니 다.  비디오 데이터:바이트 수 는 위의 색인 으로 계산 할 수 있 습 니 다.  4 개의 바이트:오디 오 프레임 의 데이터 크기(cbr 모드 를 사용 하기 때문에 모든 오디 오 프레임 데이터 크기 는 같 지만 관건 적 인 프레임 의 크기 는 일반 프레임 크기 보다 한 바이트 가 많 습 니 다)  4 바이트:오디 오 프레임 의 총수  오디 오 프레임 총수×1 개의 바이트:각 프레임 의 오디 오 인덱스,각 인덱스 1 개의 바이트,관건 프레임 1,일반 프레임 0,주의:각 프레임 의 실제 크기=오디 오 프레임 의 데이터 크기+인덱스 값;  오디 오 데이터:바이트 수 는 위의 색인 으로 계산 할 수 있 습 니 다.  위의 분석 을 보면 PMP 1.0 형식 은 매우 부족 하고 동 영상 과 오디 오의 표지 위치 가 없다.즉,동 영상 과 오디 오의 인 코딩 형식 이 고정 되 어 각종 흐름 을 밀봉 할 수 없다 는 것 이다.  이 동시에 영상 과 오디 오 데이터 가 교차 되 어 저장 되 기 때문에 재생 프로그램 이 재생 할 때 파일 포인터 가 왔다갔다 이동 하고 영상 프레임 을 읽 을 때 앞으로 이동 하 며 오디 오 프레임 을 읽 을 때 뒤로 이동한다.  PMP 2.0 부터 조 니 는 1.0 의 부족 을 의식 하여 파일 의 형식 구 조 를 재 설계 했다 고 생각 합 니 다.저 는 개인 적 으로 이 변화 가 매우 좋다 고 생각 합 니 다.  파일 헤더 부터 순서 구 조 는 다음 과 같 습 니 다.  4 바이트:반드시"pmpm",pmp 의 표지 입 니 다.  4 바이트:버 전 번호,1,버 전 2.0 표시  4 바이트:비디오 형식 표지 입 니 다.이것 은 개선 입 니 다.각종 비디오 스 트림 을 지원 하 는 데 보증 을 제공 합 니 다.0 은 MP4V 스 트림(xvid, divx),1 은 AVC 흐름(PMP-AVC 는 사실 PMP 2.0 형식 으로 AVC 흐름 을 봉 인 했 을 뿐)을 나타 낸다.  4 바이트:비디오 프레임 총수  4 바이트:비디오 너비  4 바이트:비디오 높이  4 바이트:비디오 스 케 일  4 바이트:동 영상 속도 , 주의:비디오 프레임 율 fps = rate/scale  4 바이트:오디 오 형식 표지,마찬가지 로 앞으로 각종 오디 오 패 키 징 을 지원 하기 위해 보증 을 제공 합 니 다.현 재 는 mp3 흐름 만 지원 합 니 다.이 값 은 0 입 니 다.  4 바이트:포 함 된 오디 오 스 트림 수량 은 다 중 트랙 패 키 징 을 지원 하 는 데 보증 을 제공 합 니 다.한 pmp 에 두 개의 트랙 이 패 키 징 되 어 있 으 면 이 값 은 2 입 니 다.  4 바이트:각 프레임 의 영상 에 첨부 된 오디 오 프레임 의 최대 수 는 PMP 2.0 이 영상 오디 오 교차 저장 방식 을 사 용 했 기 때문에 한 프레임 의 영상 과 해당 하 는 몇 프레임 의 오디 오 를 함께 놓 았 는데 이것 은 최대 치 이다.  4 바이트:오디 오 scale,기본 값 1152  4 바이트:오디 오 rate,기본 값 44100  4 바이트:오디 오 스테레오 여부,0 은 단성,1 은 스테레오 를 나타 낸다.  비디오 프레임 총수×4 개의 바이트:각 프레임 영상의 인덱스,각 인덱스 4 개의 바이트,가장 낮은 비트 비트 는 관건 적 인 프레임 여 부 를 표시 하고,나머지 31 개의 비트 는 프레임 의 크기 를 표시 합 니 다.(주의,여기 의 프레임 크기 는 1.0 형식의 프레임 크기 와 다 릅 니 다.아래 의 설명 을 보십시오)  비디오 오디 오 혼합 데이터:여기 서 조 니 는 비교적 재 미 있 는 디자인 을 하여 비디오 프레임 1 개 와 해당 하 는 오디 오 프레임 을 혼합 하여 데이터 프레임 으로 삼 았 다.그렇다면 도대체 어떤 혼합 법 일 까?우리 분석 해 보 자.  먼저 모든 비디오 프레임 의 시간 스탬프 와 모든 오디 오 프레임 의 시간 스탬프,videotime 을 계산 합 니 다. = videonum / videofps , audiotime = audionum / audiofps (비디오 넘 과 오디 오 넘 은 모두 0 부터 시작한다)  그러면 첫 번 째 영상 프레임 의 타임 스탬프 는 0/videofps 입 니 다. =0.두 번 째 비디오 프레임 의 시간 스탬프 는 1/videofps 입 니 다. ,그 다음 에 첫 번 째 영상 프레임 과 모든 시간 스탬프 가 1/videofps 보다 작은 오디 오 프레임 을 연결 하여 데이터 프레임 이 되 었 습 니 다.이렇게 유추 합 니 다.  그리고 모든 데이터 프레임 앞 에 n 개의 바 이 트 를 추가 합 니 다. n=1+4+4+4+4×각 트랙 이 혼 합 된 프레임 수×트랙 수,  그 중에서 이 n 바이트 의 의 미 는 다음 과 같다.  1 바이트:이 데이터 프레임 에서 각 트랙 이 혼 합 된 프레임 수;  4 바이트:혼 합 된 첫 번 째 오디 오 프레임 과 비디오 프레임 사이 의 시간 차;  4 바이트:혼 합 된 마지막 오디 오 프레임 과 비디오 프레임 사이 의 시간 차;  4 바이트:비디오 프레임 의 크기;  4×각 트랙 이 혼 합 된 프레임 수×트랙 수:혼 합 된 오디 오 프레임 의 크기  【PMP 의 재생!  위의 분석 을 통 해 알 수 있 듯 이 PMP 는 두 가지 형식(1.0,2.0)이 있 고 2.0 형식 에서 포 장 된 흐름 이 다 르 기 때문에 이른바 pmp 2.0 과 pmp-avc 의 차이 가 나 타 났 다.  모든,우 리 는 다른 플레이어(pmp-mod 1, pmp-mod2, pmp-avc)이 파일 들 을 재생 합 니 다.  pmp 1.0 과 pmp 2.0 형식 파일 의 차이 가 너무 크기 때문에 작은 p 에서 이 두 가 지 를 동시에 지원 하려 면 코드 작성 이 복잡 하고 효율 도 떨 어 질 수 있 습 니 다.  또한 pmp 1.0 형식의 부족 으로 인해 저 는 pmp 1.0 형식 을 포기 하 는 것 을 권장 합 니 다.기 존의 pmp 1.0 형식의 영 화 는 remux 를 통 해 2.0 형식 으로 전환 할 수 있 습 니 다.  pmp-mp4v 와 pmp-avc 파일 에 대해 저 는 개인 적 으로 한 프로그램 에 넣 어서 지원 할 수 있다 고 생각 합 니 다.왜냐하면 그들의 패 키 징 은 같 기 때 문 입 니 다.그 안의 흐름 이 다 를 뿐 입 니 다.  다른 디코더 에 대한 디 코딩 만 하면 됩 니 다.  【뒷말  이 글 을 쓰 는 목적 은 pmp 의 다양한 형식의 차 이 를 알 리 는 것 입 니 다.  저 는 시간 과 능력 이 있어 서 여러분 께 pmp-mod 를 만들어 드 리 고 싶 습 니 다.pmp 2.0(pmp-mp4v,pmp-avc 포함)을 지원 합 니 다.하지만 사실은 제 가 지금 일이 바 빠 서 이 걸 작성 할 정력 이 별로 없습니다.  그래서 이 글 을 쓰 는 또 다른 목적 은 제 연 구 를 공유 하 는 것 입 니 다.기술 고수 가 이 글 을 통 해 새로운 pmp-mod 를 쓰 고 pmp 2.0 형식의 재생(pmp-mp4v 와 pmp-avc 포함)을 지원 하 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기