簡體   English   中英

在iOS中反轉視頻播放

[英]Reverse video playback in iOS

我想在AVPlayer中向后播放視頻。 我已經嘗試將rate屬性更改為-1.0,雖然它確實有效,但它並不順利。 有什么方法可以順利播放視頻嗎?

正如評論中所述,問題在於關鍵幀以及大多數編解碼器不能設計為向后播放的事實。 重新編碼視頻有2個選項,不需要您在編輯時實際反轉視頻。

  1. 使每個幀成為關鍵幀。 我已經看到這種方法適用於依賴於關鍵幀的H.264等編解碼器。 基本上,如果每個幀都是一個關鍵幀,那么每個幀都可以在不依賴任何先前幀的情況下進行解碼,因此它實際上與向前播放相同。
  2. 使用不使用關鍵幀和非關鍵幀的編解碼器(基本上所有幀都是關鍵幀)。 PhotoJPEG是一個這樣的選擇,雖然我不完全確定它是否在iOS上播放。 我想是的。 它在Mac上運行良好。

請注意,與典型的“每x幀關鍵幀”編碼視頻相比,這兩個選項中的任何一個都會產生更大的文件大小。

您必須在當前項目的末尾到達,然后將費率設置為負值。 像這樣的東西:

-(void)reversePlay { CMTime durTime = myPlayer.currentItem.asset.duration; if (CMTIME_IS_VALID(durTime)) { [myPlayer seekToTime:durTime toleranceBefore:kCMTimeZero toleranceAfter:kCMTimeZero]; [myPlayer setRate:-1.0]; } else NSLog(@"Invalid time"); }

來源: https//stackoverflow.com/a/16104363/701043

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM