iOS에서 OpenGL ES 2.0을 사용하여 비디오를 재생하려고합니다. 나는 이것을 달성하는 방법의 샘플 코드 나 시작점을 얻을 수 없다. 아무도 이걸 도와 줄 수 있니?iOS에서 OpenGL을 사용하여 비디오를 재생하는 방법은 무엇입니까?
답변
당신이 찾고있는 것은 실시간으로 비디오의 원시 버퍼를 얻는 것입니다. AVFoundation
을 조사하고 어떻게 든 CVPixelBufferRef
을 추출해야한다고 생각합니다. 내가 올바르게 기억하면 몇 가지 방법이 있습니다. 하나는 특정 시간에 수요가 있고, 다른 하나는 블록에서 프레임의 빠른 반복을 얻는 처리를위한 것이고, 아마도 당신이 필요로하는 것은 프레임을 실시간으로 수신하는 것입니다. 그래서 이것을 사용하여 텍스쳐에 푸쉬 된 다음 렌더링 버퍼에 그려야하는 raw RGB 버퍼를 추출 할 수 있습니다.
텍스처를 한 번 (비디오 당) 만들고 가능한 한 작게 만들고 비디오 프레임이 맞는지 확인하십시오. 그래서 텍스처 크기가 비디오 다음 큰 것으로 예상된다
GLInt textureWidth = 1.0f;
while(textureWidth<videoWidth) textureWidth <<= 1; // Multiplies by 2
: 당신은 당신이 뭔가를 필요로하므로 비디오 폭의 질감 치수를 얻기 위해 텍스처 (두 전원) 냄비를해야 할 수도 있습니다. 데이터를 텍스처로 푸시하려면 텍스처 서브 이미지 glTexSubImage2D
을 사용해야합니다. 어느 쪽이 원시 데이터 및 사각형 매개 변수에 포인터가 올지 데이터가 저장 될 곳은 (0, 0, sampleWidth, sampleHeight)
입니다. 또한 범위 좌표 [0, 1]가 아닌 x
: [0, sampleWidth/textureWidth]
에 대해 텍스처 좌표가 계산되어야합니다.
은 그럼 그냥 모두 함께 넣어해야합니다
이- 비디오 원료 샘플 버퍼를 생성 유지하는 시스템을 가지고
- 새로운 샘플 업데이트에 비디오 크기
- 에 맞게 텍스처를 생성
glTexSubImage2D
을 사용하는 텍스처 - 텍스처에 데이터를로드 한 후 텍스처를 전체 화면 사각형으로 그립니다 (스레드를 조심하십시오).
동영상 방향, 변형에주의해야 할 수도 있습니다. 따라서 가능한 경우 장치에 여러 방향으로 녹화 된 몇 개의 비디오로 시스템을 테스트하십시오. 이미 올바르게 지향 된 버퍼를 수신 할 수있는 지원이 있다고 생각합니다. 그러나 기본적으로 샘플은 적어도 "잘못"사용되었습니다. 세로로 기록 된 비디오는 여전히 랜드 스케이프의 샘플을 가졌지 만 변환 매트릭스 또는 오리엔테이션은 자산과 함께 제공됩니다.
- 1. ios에서 Mediaplayer 프레임 워크를 사용하여 비디오를 재생하는 방법은 무엇입니까?
- 2. iOS에서 비디오 데이터를 사용하여 비디오를 재생하는 방법
- 3. ios에서 비디오를 재생하는 방법 6
- 4. opencv를 사용하여 비디오를 재생하는 방법은 무엇입니까?
- 5. Video.js를 사용하여 Youtube 비디오를 재생하는 방법은 무엇입니까?
- 6. 소켓에서 수동으로로드 된 iOS에서 비디오를 재생하는 방법은 무엇입니까?
- 7. iPod이 여전히 오디오를 재생하는 동안 iOS에서 비디오를 음소거하는 방법은 무엇입니까?
- 8. 비디오를 스트리밍/재생하는 방법은 무엇입니까?
- 9. QML에서 비디오를 재생하는 방법은 무엇입니까?
- 10. iOS에서 사운드를 재생하는 방법은 무엇입니까?
- 11. ios에서 currentPlaybackRate를 사용하여 비디오를 저장하는 방법은 무엇입니까?
- 12. iOS에서 비디오를 순차적으로 재생하는 방법 - 목표 C
- 13. iOS에서 비디오를 재생하는 동안 오디오 스트림을 처리합니다.
- 14. WWAN 네트워크를 통해 MPMoviePlayerController를 사용하여 비디오를 재생하는 방법은 무엇입니까?
- 15. iOS : OpenGL을 사용하여 비디오를 그립니다.
- 16. xamarin iOS에서 AVPlayerViewController (AVKit)로 비디오를 재생하는 방법
- 17. 다운로드중인 비디오를 마치 스트림으로 재생하는 방법은 무엇입니까?
- 18. AVPlayer 비디오를 하나씩 재생하는 방법은 무엇입니까?
- 19. Actionscript 3를 사용하여 IOS에서 YouTube 비디오를 재생하는 방법
- 20. 서버에서 비디오를 검색하고 onclick으로 재생하는 방법은 무엇입니까?
- 21. iPhone에서 시퀀스 비디오를 계속 재생하는 방법은 무엇입니까?
- 22. 바이트 배열에서 비디오를 재생하는 방법은 무엇입니까?
- 23. 반투명 QWidget에서 비디오를 재생하는 방법은 무엇입니까?
- 24. IE 브라우저에서 FLV 비디오를 재생하는 방법은 무엇입니까?
- 25. 백그라운드에서 비디오를 재생하는 방법?
- 26. 동일한 MPMoviePlayerController에서 다른 비디오를 재생하는 방법은 무엇입니까?
- 27. iOS에서 .pls 파일을 재생하는 방법은 무엇입니까?
- 28. Android 애플리케이션에서 Youtube 비디오를 재생하는 방법은 무엇입니까?
- 29. Flash AS3에서로드하는 동안 비디오를 재생하는 방법은 무엇입니까?
- 30. 재생하는 동안 .swf 비디오를 음소거하는 방법은 무엇입니까?
Google에서 검색했습니다. 언급 한 링크는 이미지 또는 3D 모델을 표시하는 방법 만 보여줍니다. OpenGL을 사용하여 비디오를 재생하고 싶습니다. 기본적으로 OpenGL Shaders에 텍스처로 비디오 프레임을 전달하고 싶습니다. @AmitSrivastava –
조차 이것을 해결하는 방법을 찾을 수 없습니다. – Parth
@ R.Jari : 성공적으로 성공 했습니까? openGL에서 ios 비디오를 재생합니까? 그렇다면 코드를 공유 하시겠습니까? 미리 감사드립니다. – loki