ffmpeg:如何將 libaom-av1 轉換為 Whatsapp 格式

ffmpeg:如何將 libaom-av1 轉換為 Whatsapp 格式

libaom-av1我正在嘗試轉換具有視頻格式和opus音頻格式的視頻

在此輸入影像描述

我使用將其轉換為 mp4

ffmpeg -y -i test.mkv -c copy -c:a aac 1.mp4

現在1.mp4已經有尺寸了2.4 mb

但是當我嘗試分享它時whatsapp,它顯示為9.4 MB

在此輸入影像描述

現在我想保持 1.5-2MB 左右的相同大小並whatsappsame quality

我也嘗試過

ffmpeg -y -i test.mkv \
  -c:v libx264 -crf 28 -preset medium -profile:v baseline -level 3.0 -pix_fmt yuv420p \
  -c:a aac -ar 44100 -ac 2 -b:a 48k \
  -movflags faststart \
  1.mp4

但品質很差

我該怎麼辦

原始影片 ( test.mkv) 可在以下位置取得https://0x0.st/-Ad4.mp4

答案1

您需要了解 libaom-av1 實際上是什麼。

這是一個非常有效率的編解碼器。效率大約是 WhatsApp 使用的 libx264 的 3 倍。因此,在不影響品質的情況下,您需要在 WhatsApp 中擁有至少 3 倍大的文件,如果 AV1 文件具有雜訊模型,則更大。即使 H265 的效率也比 AV1 低很多,大約低 30-40%,這取決於 AV1 檔案是否使用膠片顆粒編碼。

你無能為力。 WhatsApp 決定使用古老的 H264 作為他們的視訊編解碼器。你無法改變這一點。 2.4MB AV1 檔案的 9MB x264 似乎完全合理。

無關:

如果您想自己嘗試AV1,這裡有一個使用官方生產編碼器libsvtav1 將任何視訊編碼為AV1 的命令,請注意,這將花費相當長的時間(預設6 是一個快速預設,如果您想要均勻的預設,請前往預設4)檔案較小,但需要更長的時間,預設 8 的效率僅比 x265 介質高 10%,但速度同樣極快):

ffmpeg -i input.mp4 -vcodec libsvtav1 -acodec copy -qp 23 -preset 6 -g 300 output.mkv

-g 300 告訴編碼器在 300 幀後放置關鍵幀,根據您的幀速率*5 進行更改。

您也可以使用參考編碼器 libaom-av1,但是該編碼器不僅比 svt 慢得多,而且效率不高,而且還不能真正實現多執行緒。在這種情況下,它的效率甚至低於上面的 svt 命令,但速度要慢得多。你可以嘗試:

ffmpeg -i input.mp4 -vcodec libaom-av1 -cpu-used 6 -acodec copy -crf 23 output.mkv

相關內容