2015-01-16 2 views
2

다른 것들 중에서 비디오 파일을 재생할 수있는 (휴대용) 프로그램을 작성해야합니다. Qt5의 QMediaPlayer가 확실한 선택 인 것처럼 보이지만, 분명히 실행중인 컴퓨터에 설치된 코덱 만 사용합니다. 비디오 플레이어가 아무 것도 설치하지 않고 모든 (Windows) 컴퓨터에서 적어도 하나의 비디오 형식을 재생할 수 있고 주 프로그램 (현재 시간 (ms), 재생/일시 중지)에 현재 상태를 알릴 수 있습니다.Qt5 QMediaPlayer는 프로그램과 함께 제공되는 코덱을 사용합니다.

특정 질문 : 누군가 내가 볼 필요가있는 힌트를 줄 수 있습니까? QMediaPlayer가 모든 컴퓨터에서 비디오를 안정적으로 재생할 수 있도록 내 프로그램에 비디오 코덱을 구현하려면 어떻게해야합니까? 대안 (그러나 덜 선호) : 다른 비디오 플레이어를 작업을 수행 할 수있는 프로그램에 (쉽게) 구현하는 방법?

나는 이미 libVLC와 하나 또는 두 개의 다른 옵션으로 내 운을 시험해 보았지만 결코 지금까지는 효과가 없었으며 내 프로그램 방식을 더 복잡하게 만드는 것으로 보인다.

답변

0

QMediaPlayer는 사용하는 모든 기계의 비디오 프레임 워크를 사용하기 때문에이 클래스를 사용하는 플레이어를 이식 할 수있는 방법이 없습니다. 당신의 유일한 해결책은 내 의견으로는 네이티브 코덱을 사용하는 FFMpeg 재생 라이브러리로 전환하는 것입니다.

2

QMediaPlayer는 플랫폼의 미디어 서비스가 지원하는 모든 형식을 재생할 수 있습니다. 비디오 유형이 올바르게 재생되도록 올바른 코덱을 설치해야합니다. 따라서 Linux에 GStreamer 코덱을 설치해야합니다. Windows를 사용하는 경우 KLite 코덱을 설치해야합니다.

QtAV과 같은 라이브러리를 사용하는 것이 좋습니다. 대부분의 플랫폼에서 작동하며 추가 코덱과 플러그인을 설치하지 않아도됩니다.

QtAV는 FFmpeg를 사용하며 1 명의 플레이어, 관심 지역 (비디오 자르기), 사용자 정의 필터, 여러 렌더러와 같은 흥미로운 기능을 가지고 있습니다 ... Qt4 및 Qt5 모두에서 잘 작동합니다.

관련 문제