1) 기본 비디오의 재생 기능 그것은 모든 일반적인 비디오 포맷을해야
DVD VOB 및 MP4/MKV/AVI (h264, xvid, divx)와 같은 동영상 파일 형식을 지원합니다. 또한 비디오를 자동으로 디인터레이스하여 디스플레이 종횡비에 표시 할 수 있어야합니다.
2) 자르기
그것은 검은 막대를 제거하는 몇 가지 기본 기능 (사용자가 인수를 공급)해야한다.
3) 그것은 메모리에 스냅 샷을하는 기능을 가져야한다
스냅 샷.
4) 프레임 단위 추구
그것은 프레임별로 추구 할 몇 가지 기본적인 기능을해야한다, 예를 들어, prevFrame(), nextFrame(), jumpTo (frame) 및 getNumFrames()입니다.
Qt는 포논 :
- 예
나는 다음과 나는 그들이 지원하는 기능을 찾을 수있는 것과 노력했다. 필요한 모든 형식을 재생하고 올바르게 표시합니다.
- No.
- 아니요 구현되지 않음 (빈 이미지 반환).
- 호
QtFFmpegWrapper :
- 부분. DVD VOB를 디인터레이스하지 않습니다. DAR에 DVD VOB를 표시하지 않습니다.
- No.
- 예.
- 부분입니다. MKV (h264)에서 파손되었습니다.
Qt는 VLC :
- 예. 필요한 모든 형식을 재생하고 올바르게 표시합니다.
- 예. 그래도 작동한다면 시도하지 않았습니다.
- 부분입니다. 디스크에만. 편집 : QPixmap :: grabWindow (player-> videoWidget() -> winId())가 작동합니다.
- 아니요 밀리 초 단위로만 지정하십시오.
자르기를 제외하고 모든 기능이있는 QVision을 보았습니다. 어쩌면 자르기를 구현하는 것이 그렇게 어렵지는 않습니다. 하지만 내가 조사해야 할 다른 라이브러리가 있는지 궁금합니다. 아니면 뭔가를 놓친 것일 수도 있습니다.이 라이브러리 중 하나를 사용하여 가능합니다. 감사.
프레임이 압축 된 비디오에 실제로 존재하지 않습니다. * 밀리 초 단위의 오프셋 계산은 프레임 속도를 지정할 때 매우 쉽습니다. – CapelliC
@CapelliC * "프레임이 압축 된 비디오에 실제로 존재하지 않습니다."** ** [intra-frame] 대신에 프레임 간 압축을 사용하는 경우 ** (http://en.wikipedia.org/wiki/Intra-frame) – HostileFork
'프레임 별 검색'특히 모든 비디오 시퀀스에서 prevFrame()을 사용할 수 없습니다. 모든 인트라 프레임 (I 프레임)에서는 문제가 없지만 대부분의 라이브러리에서 P 또는 B 프레임 (프레임의 종속성)은 어렵거나 불가능합니다. (자신이 직접 캐시를 만들지 않는 한 캐시가 너무 크면 메모리 크기 문제가 있습니다) – Eric