我有一個Android MediaCodec解碼器,配置了SurfaceTexture對象的Surface。 MP4文件解碼工作正常,可以在設備上看到幀。但是如果嘗試使用MediaMuxer重新編碼爲新的MP4文件,則輸出文件大小爲零,因爲SurfaceTexture.getTimestamp()始終返回0.在這種情況下獲取幀展示時間的正確方法是什麼?如何在MediaCodec解碼器配置SurfaceTexture輸出時獲取幀時間戳?
0
A
回答
0
時間戳被轉發。您從SurfaceTexture獲得的時間戳是生產者提供的任何東西。
使用MediaCodec進行解碼時,您會在BufferInfo對象中收到時間戳。您可以直接將該時間戳傳遞給編碼器的queueInputBuffer()
,或者如果您使用GLES進行渲染,則會將其傳遞到eglPresentationTimeANDROID()
,從而使其可用於SurfaceTexture。
+0
只是爲了澄清,確實觀察到的順序是這樣的: * eglPresentationTimeANDROID(frameTime的) * SurfaceTexture.updateTexImage() * SurfaceTexture.OnFrameAvailableListener.onFrameAvailable() * SurfaceTexture.getTimestamp()返回frameTime的 –
相關問題
- 1. 如何從MediaCodec解碼器的輸出中提取PCM樣本
- 2. 視頻解碼器使用MediaCodec配置
- 3. 如何在MSBuild中輸出時間戳
- 4. 從配置單元中的時間戳獲取時間
- 5. 如何從當前時間戳獲取shell輸出。 Linux,unix
- 6. Android MediaCodec,解碼MJPEG幀
- 7. Gson dateformat解析/輸出unix時間戳
- 8. 配置時間戳Rails(解決方案)
- 9. 如何從postgres獲取時間戳作爲時間戳?
- 10. 如何在解碼器過濾器中創建時間戳?
- 11. 如何在linux上解釋上次輸出中的時間戳?
- 12. 從服務器獲取的時間戳本地時間戳
- 13. 如何處理Android MediaCodec解碼器的第一個輸出ByteBuffers?
- 14. oracle:如何獲取本地時間戳而不是服務器時間戳
- 15. 格式時間戳輸出
- 16. 使用MediaCodec和MTK編解碼器編碼時選擇H264配置文件
- 17. PHP如何從時間戳獲得日/時間的時間戳
- 18. 如何在獲取日期()中輸入手動時間戳
- 19. Android MediaCodec:如何在編碼時請求關鍵幀
- 20. 如何從網頁獲取時間戳
- 21. adb shell ping,如何獲取時間戳?
- 22. 如何從numpy.datetime64獲取unix時間戳
- 23. 如何從Oracle獲取EST時間戳?
- 24. Hot將EnterpriseLibrary.Logging配置爲僅輸出消息和時間戳
- 25. 從時間戳獲取本地時間
- 26. FFmpeg提取當前幀時間戳
- 27. Firebase獲取服務器時間戳
- 28. 從PHP獲取時間戳
- 29. 獲取時間戳rtp包
- 30. 獲取unix時間戳
謝謝fadden,我希望你在身邊! –