我已使用AVCaptureVideoDataOuput
和AVAssetWriter
錄製了相機的實時視頻,但所得視頻沒有持續時間。任何人都可以給出一個簡要的想法或總體方向的一點來獲得持續工作?持續時間不會顯示在視頻
0
A
回答
2
需要做的是定義一個初始的CMTime
。
self.time = CMMakeTime(0, 30 /* some frame time */);
然後
[instanceAVAssetWriter setSessionAtSourceTime:self.time];
上captureOutput:didOutputSampleBuffer:fromConnection:
CMSampleBufferRef sb;
CMSampleTimingInfo sampleTimingInfo;
sampleTimingInfo.duration = CMTimeMake(1,30);
sampleTimingInfo.presentationTimeStamp = self.time;
sampleTimingInfo.decodeTimeStamp = kCMTimeInvalid;
CMSampleBufferCreateCopyWithNewTiming(kCFAllocatorDefault, sampleBuffer, 1, &sampleTimingInfo, &sb);
和結束
CFRelease(sb);
self.time.value += 1;
+0
甚至無法描述這個答案帶來的挫折。謝謝! – kleezy
0
這是我做的這類似於NebulaFox的答案。此代碼用於捕獲視頻數據的回調。作者已經被初始化和設置。
switch (writer.status) {
case AVAssetWriterStatusUnknown:
startTime = CMSampleBufferGetPresentationTimeStamp(sample);
[writer startWriting];
[writer startSessionAtSourceTime:startTime];
if (writer.status != AVAssetWriterStatusWriting) {
break ;
}
....
相關問題
- 1. 如何顯示視頻的總時間和持續時間
- 2. HTML5視頻持續時間
- 3. MySql,在60秒內顯示正確的視頻持續時間
- 4. 如何在視頻縮略圖上顯示onmouseover上的視頻持續時間?
- 5. 在Express.js視頻的持續時間:NaN
- 6. FFMPEG無法顯示視頻的持續時間
- 7. JavaScript顯示持續時間
- 8. 顯示持續時間
- 9. HTML5不播放視頻的視頻持續時間
- 10. 源視頻和低頻音頻的持續時間不同
- 11. Mysql顯示不同的持續時間
- 12. 獲取AVFoundation視頻的持續時間
- 13. 視頻/電影持續時間
- 14. HTML5視頻持續時間問題
- 15. 最長持續時間HTML5視頻
- 16. AVAsset視頻調整持續時間
- 17. 獲取視頻的持續時間
- 18. Youtube API視頻持續時間格式
- 19. Angular 2,視頻持續時間訪問。
- 20. html5視頻的當前/持續時間?
- 21. 限制視頻持續時間
- 22. Blob視頻持續時間元數據
- 23. 在php表中的JavaScript音頻持續時間顯示問題
- 24. HTML5音頻/視頻標籤,在Firefox上的持續時間
- 25. 錄製的視頻不會顯示在視頻上視頻
- 26. 視頻會顯示視頻的錯誤開始時間和結束時間
- 27. HTML5音頻播放器持續時間顯示南
- 28. 安卓視頻顯示總持續時間沒有使用媒體控制器
- 29. 使用R檢索視頻文件持續時間(時間)
- 30. 更改ToolTipText顯示持續時間
您是否將[AVAssetWriter startSessionAtSourceTime]設置爲第一個樣本緩衝區的PTS?你打電話給[AVAssetWriter finishWriting]嗎?你應該顯示一些代碼。 –