簡體   English   中英

FFmpeg-在多個通話中將幀添加到MP4

[英]FFmpeg - Add frames to MP4 in multiple calls

我正在嘗試使用FFmpeg從Android應用程序中用戶創建的內容創建MP4文件。

用戶創建的內容使用OpenGL渲染。 我當時想我可以將其渲染到FrameBuffer並將其另存為臨時圖像文件。 然后,獲取此圖像文件,並使用FFmpeg將其添加到MP4文件中。 我將逐幀執行此操作,並在構建MP4文件時創建和刪除這些臨時圖像文件。

問題是我永遠不會一次擁有所有這些圖像文件 ,所以我不能只使用典型的調用:

ffmpeg -start_number n -i test_%d.jpg -vcodec mpeg4 test.mp4

FFmpeg有可能嗎? 我找不到有關將幀一一添加到MP4文件並保持正確幀率的任何信息,等等。

使用STDIO將原始幀獲取到FFmpeg。 請注意,這並不意味着導出整個圖像……您需要的只是像素數據。 像這樣

ffmpeg -f rawvideo -vcodec rawvideo -s 1920x1080 -pix_fmt rgb24 -r 30 -i - -vcodec mpeg4 test.mp4

使用-i -表示FFmpeg將從管道讀取。

認為從那里您只需通過管道發送原始像素值,每種顏色每個像素一個字節。 FFmpeg會知道每幀的完成時間,因為您已經將幀大小傳遞給它了。

暫無
暫無

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

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