簡體   English   中英

FFMpeg:將圖像與音頻合並特定的持續時間

[英]FFMpeg: merge images with audio for specific duration

我從過去7天開始從事FFMpeg 我需要在以下位置創建視頻:

  1. Concat少量圖像連接到從Android存儲設備中選取的視頻中。
  2. Add a music文件[與從Android存儲設備中選取Add a music相同]。
  3. Set Duration per image要在視頻中顯示的Set Duration per image 例如,如果選擇了3張圖像,則視頻的總時長應為用戶選擇的3 *持續時間。

到目前為止我所做的。

我正在為FFmpeg預構建二進制文件使用implementation 'nl.bravobit:android-ffmpeg:1.1.5' 以下是用於串聯圖像並設置持續時間的命令:

ffmpeg -r 1/duration_selected_by_user -f concat -safe 0 -i path_of_concat_file.txt -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p path_of_output_video_file.mp4 

注意:

  1. 通過將用戶選擇的持續時間添加為幀速率,我可以設置要顯示的每個圖像的持續時間。
  2. Concat可以正常工作,並且可以將圖像合並到視頻中。

問題:當我嘗試在同一過程中添加音頻時,通過使用以下命令,即使對於較小的音頻,進度也會運行很長時間:

ffmpeg -r 1/duration_selected_by_user -i path_of_audio_file.mp3 -f concat -safe 0 -i path_of_concat_file.txt -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p path_of_output_video_file.mp4

好像有一些問題要指揮,因為我對該技術不太熟悉和經驗豐富。 如何改善合並圖像和音頻的性能以獲得更好的結果?

與上下文相關的重要鏈接:

https://github.com/bravobit/FFmpeg-Android

正如@HB在評論中提到的:

嘗試在-pix_fmt yuv420p之后添加-preset ultrafast

preset是選項的集合,這些選項將提供一定的編碼速度與壓縮比 較慢的預設將提供更好的壓縮(壓縮是每個文件大小的質量)。 這意味着,例如,如果您以某個文件大小或恆定比特率為目標,則使用較慢的預設可獲得更好的質量。 同樣,對於恆定質量的編碼,只需選擇較慢的預設即可簡單地節省比特率。 可用的預設速度降序為:

  • 超快
  • 超級快
  • 非常快
  • 快點
  • 快速
  • 中-默認預設
  • 慢點
  • 非常慢
  • 安慰劑–忽略它,因為它沒有用

參考: https : //trac.ffmpeg.org/wiki/Encode/H.264#Preset

暫無
暫無

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

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