>  기사  >  백엔드 개발  >  PHP를 사용하여 mp4 비디오 파일 형식 분석

PHP를 사용하여 mp4 비디오 파일 형식 분석

不言
不言원래의
2018-04-20 11:24:072705검색

이 글은 주로 PHP를 사용하여 mp4 비디오 파일을 분석하는 형식을 소개합니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들이 참조할 수 있습니다.

최근 작업에서 타사 작은 프로그램 개발 중에 미니 프로그램의 비디오 구성 요소에 문제가 발생했습니다. 개발 피드백은 비디오 구성 요소가 너무 높은 수준이기 때문에 앞쪽에 떠 있을 때 항상 뒤에 있는 요소를 차단한다는 것이었습니다.

그래서 개발자는 계획을 변경해야 한다고 말했고, 사용자가 스크린샷을 클릭하면 새 페이지로 이동하여 시청할 수 있게 되었습니다. 해당 페이지에 비디오 구성 요소가 하나만 있으면 해당 수준이 너무 높기 때문에 다른 문제가 발생하지 않습니다.

이 새로운 솔루션은 가능하지만 개발이 완료된 후 확인해보니 Apple에서 촬영한 영상이 회전되고 스크린샷도 회전되는 것을 발견했습니다(Alibaba Cloud의 OSS 영상 스크린샷 기능을 사용했습니다). 아래 그림과 같이


이것은 새로운 문제를 가져옵니다. 비디오가 몇도 회전되었는지 알아야합니다. 같은 각도로 반대로 하면 사용자가 볼 수 있는 효과는 회전하지 않는다는 것입니다.

업로드된 영상을 수신할 때 영상의 회전 정도를 분석하여 DB에 저장하기 위한 백엔드 인터페이스가 필요합니다.


현재 문제는 이 역사적인 비즈니스 시스템이 PHP5.5를 사용하여 개발되었으며 당시 기술 리더가 이를 소스 코드에서 컴파일하여 설치했지만 php-ffmpeg 플러그인이 너무 오래되어 유지 관리되지 않는다는 것입니다. , 그래서 php5.5에서 컴파일했습니다. 질문이 너무 많습니다.

그래서 애플 휴대폰에서 촬영한 mp4 동영상 파일 형식을 분석하려면 PHP를 사용해야 합니다.



구현 원리는 mp4 비디오 트랙 상자의 헤더 tkhd에 있는 비디오 변환 행렬을 분석하고 video를 통해 변환하는 것입니다. 행렬을 변경하여 아래와 같이 회전 각도를 결정합니다.



mp4 파일 형식의 기본 단위는 원자(또는 상자)입니다. mp4의 파일 형식 구조는 여기에 게시되어 있지 않습니다.

구현 후 효과는 다음과 같습니다.


테스트 결과, 위 그림의 휴대폰 회전 예시와 비교:


https://gitee.com/clwu/IphoneMp4Probe

위 내용은 PHP를 사용하여 mp4 비디오 파일 형식 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.