2016-04-15 117 views
0

所以,我一直在尋找相當一段時間沒有找到任何答案。壓縮視頻然後添加水印

目標:壓縮視頻以便快速上傳到服務器,同時保持添加的水印疊加清晰。

問題:當我壓縮視頻時,使用SDAVAssetExportsession(https://github.com/rs/SDAVAssetExportSession),視頻很好地壓縮,但水印也會導致模糊,看起來不好看的覆蓋圖。

有人有什麼建議嗎?謝謝!

回答

1

水印是固有難以壓縮,因爲它們通常:

  • 內含鋒利的邊緣,這是很難不ringing artifacts壓縮。
  • 請勿隨圖像的其餘部分移動,以免混淆運動補償算法。
  • 模糊的圖像部分,要求涉及水印所覆蓋的內容的數據在重新出現時被重新編碼。

話雖這麼說,也有一些步驟,你可以採取讓你的水印容易壓縮:

  • 讓你的水印完全不透明。不要使用部分半透明的水印。這樣可以將水印區域的內容作爲「常量」存儲在視頻中,而不是要求頻繁更新。 (作爲額外的好處,這也使得它更難以移除。)
  • 給你的水印一個簡單的輪廓,最好是一個矩形。複雜的輪廓增加了數據在水印後面出現和消失的頻率。
  • 將它定位在輸出視頻幀的16x16像素邊界處。許多視頻壓縮算法使用8x8或16x16塊,因此將水印與這些邊界對齊將有助於將其與視頻的其他部分分開。

如果一切都失敗了,請考慮提高視頻的壓縮質量,或在視頻上傳後在服務器端應用水印。

+0

首先,感謝您如此快速地回覆我以及您的詳細回覆。 有問題的水印是部分半透明的黑色背景,裏面有白色的實體文字,類似於您在應用Snapchat上看到的內容。我想殺死半透明的部分,但決定反對它,因爲它看起來不幸很糟糕。 我的第二個想法是:它有道理/是否有辦法先壓縮視頻,然後再添加水印?對於Snapchat如何能夠實現這一點而不會將視頻縮小爲史詩般的比例,我感到非常困惑 - 任何額外的想法? – trdavidson

+0

我實際上並沒有使用Snapchat,所以不,我其實不知道你指的是什麼。這就是說:Snapchat有可能將水印作爲覆蓋層應用在應用程序中,而不是將其嵌入到視頻中? – duskwuff

+0

所以,起初我也做了這個假設,但是事實上,您可以立即保存視頻而不會損失水印質量,這顯示了其他方面......非常令人沮喪! – trdavidson