2011-10-19 26 views
4

這與Looping a video with AVFoundation AVPlayer稍有關係,但回答該問題。我試圖實現的是無縫使用AVPlayer進行循環。在使用h264編碼視頻*的循環之間有明顯的間隙,由於某種原因,iOS 5的更新因此而變得更糟。這可能與視頻編碼方式有關,而不是AVPlayer?循環由playerItemDidReachEnd通知觸發,如上面的鏈接所述。編碼一個視頻循環?

謝謝。

*這裏是我們使用來編碼視頻ffmpeg的命令,如果這能幫助:

的ffmpeg -i -y -sameq -vcodec libx264 -vpre HQ -crf 20 -an

(是的,文件沒有聲音(尚未),所以-an是有意的)。

+0

http://stackoverflow.com/questions/3410003/iphone-smooth-transition-from-one-video-to-another/17138580#17138580 – MoDJ

+0

通過VideoToolbox APIs循環播放全高清內容:http://stackoverflow.com /一個/763355分之33335884 – MoDJ

回答

0

您如何將參考幀的數量設置爲1和/或b幀爲0和/或配置文件爲基準?

一個合理的解釋:

默認情況下的H.264解碼解碼各種視頻,它必須在視頻的開頭緩衝某些幀。因此,如果你正在循環(如果它正在重置解碼器)或許緩衝進來了。你循環沒有重置解碼器?解碼器在閱讀文件時是否因爲eos而重置?如果是的話,你可以通過避免超出最後一幀閱讀和觸發eos條件來防止這種情況發生嗎?

如果你有更好的控制(雖然不確定),你可以避免它的一種方式是在返回循環時不送入流頭(sps/pps)?