2012-12-21 12 views
1

포톤 (Phonon)이 아닌 Qt에서 비디오를 이식하는 방법을 찾고 있습니다.Qt 응용 프로그램에서 QtFFmpegWrapper + QLabel + QTimer를 사용하여 비디오를 재생하는 좋은 방법이 있습니까?

ffmpeg를 사용하는 것이 좋습니다 (모든 플랫폼에서 동일한 방식으로 작동해야 함).

현재 비디오 출력에 QLabel을 사용하고 각 프레임에 대해 QPixmap :: fromImage를 수행합니다. 프레임은 배경 스레드에서 QtFFmpegWrapper에 의해 디코딩되고 버퍼링됩니다. QTimer는 다음 프레임을 표시 할시기를 결정합니다.

모든 것이 약간 해킹 된 것 같습니다 (비디오? 레이블?). 내가 제대로하고 있니? Qt 애플리케이션에서 ffmpeg로 디코딩 된 비디오를 재생하는 더 나은 휴대용 방식이 있습니까?

+0

QLabel은 QWidget에서 파생되었으므로 디코딩 된 프레임을 표시하는 것처럼 효과적입니다. –

답변

0

Qt 5.0에서 Qt Multimedia 모듈을보고 싶을 수도 있습니다 : http://doc-snapshot.qt-project.org/5.0/qtmultimedia/qtmultimedia-index.html. 설명 된 프로세스보다 더 효율적이어야합니다 (플랫폼에 따라 다름).

편집 : Qt 5.0 이전 버전의 경우 Qt Multimedia Kit Qt Mobility 컴파일을 사용하여 Qt Multimedia 모듈을 계속 시도 할 수는 있지만 직접 시도한 적이 없습니다.

+0

Qt 4.7에 좋은 방법이 있습니까? –

+0

내 대답을 수정했습니다. –