java調(diào)用ffmpeg給視頻增加實時時間水印

業(yè)務(wù)流程:手機錄像——錄像文件上傳至服務(wù)器——ffmpeg壓縮——瀏覽器vlc插件播放

要求:增加時間水印,時間為錄像時間

方案一:通過自定義錄像界面在錄像過程中添加水印

方案二:ffmpeg壓縮過程中添加水印

方案三:vlc播放過程中通過字幕添加水印

因為瀏覽器中的vlc插件已不支持顯示字幕(marquee完全廢棄剑肯,火狐瀏覽器上字幕一閃而過搬葬,ie瀏覽器完全不顯示)腐宋, 方案三完全不可行

這里主要研究方案二

查了很多資料憾筏,確定是使用 -vf 命令的止,drawtext 進行控制再扭。但是多現(xiàn)的指令各有問題

使用 text='%Y-%m-%d %H\:%M\: %S" 可以顯示壓縮時的本地時間财边,但是一是與要求不符肌括,不能顯示錄像當(dāng)時的時間。二是這個時間取的是ffmpeg處理到這一幀時的時間酣难,如果處理用時短于視頻時長谍夭,那么水印的時間走的會比實際時間慢

使用 basetime=$(date +%s -d 'xxxx-xx-xx xx:xx:xx') 可以調(diào)整開始的時間,但是ffmpeg報錯(可能是\反斜杠的問題)憨募,而且無法解決時間走得慢的問題

查詢ffmpeg文檔發(fā)現(xiàn)應(yīng)該使用?text='%{pts} 控制紧索,可以達成目的。pts顯示的是視頻從開始計時的時間菜谣,默認(rèn)精確到毫秒珠漂。

pts采用三個參數(shù),第一個參數(shù)是顯示的時間格式尾膊,默認(rèn)是 flt 媳危,即上述的毫秒。 hms 是時分秒-毫秒冈敛。gmtime 和?localtime 使用的是標(biāo)準(zhǔn)時間济舆,區(qū)別是gmtime是UTC時間,localtime是本地時間莺债。這里采用localtime設(shè)置滋觉。

此時的完整命令為 text='%{pts\:localtime}' ,水印的開始時間為1970-01-01 08:00:00齐邦。讀秒正常椎侠。

pts的第二個參數(shù)是offset,開始時間到1970-01-01 08:00:00 的秒數(shù)措拇。通過java可以輕松計算插入我纪。

此時的完整命令為 text='%{pts\:localtime\:1611045554}' ,時間已可以正常顯示正常讀秒丐吓。

第三個參數(shù)可以在此基礎(chǔ)上再次規(guī)定時間格式浅悉,為方便過后調(diào)整我加上了第三參數(shù)。因為涉及空格導(dǎo)致這個地方十分復(fù)雜券犁。

最終成型的命令為?

"drawtext=fontcolor=white:fontsize=40:fontfile=times.ttf:line_spacing=7:x=10:y=10:boxcolor=black@0.5:text='%{pts\\:localtime\\:"+time+"\\:%Y-%m-%d\\ \\%H\\\\\\:%M\\\\\\:%S}'"

是java完整字符串的格式

控制時間格式的參數(shù)中有一個 \ 反斜杠术健,傳遞給ffmpeg的時候需要轉(zhuǎn)義,即\\粘衬,然后拼到j(luò)ava字符串里需要轉(zhuǎn)義的轉(zhuǎn)義和原字符的轉(zhuǎn)義荞估,即 \\\\ 咳促。

紀(jì)念我為了搞這點破東西消失的一天時間。

某度搜不到的參考(不需要翻墻):

ffmpeg文檔原文地址

作為格式參考的討論串

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末勘伺,一起剝皮案震驚了整個濱河市跪腹,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌飞醉,老刑警劉巖冲茸,帶你破解...
    沈念sama閱讀 212,686評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異缅帘,居然都是意外死亡噪裕,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,668評論 3 385
  • 文/潘曉璐 我一進店門股毫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來膳音,“玉大人,你說我怎么就攤上這事铃诬〖老荩” “怎么了?”我有些...
    開封第一講書人閱讀 158,160評論 0 348
  • 文/不壞的土叔 我叫張陵趣席,是天一觀的道長兵志。 經(jīng)常有香客問我,道長宣肚,這世上最難降的妖魔是什么想罕? 我笑而不...
    開封第一講書人閱讀 56,736評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮霉涨,結(jié)果婚禮上按价,老公的妹妹穿的比我還像新娘。我一直安慰自己笙瑟,他們只是感情好楼镐,可當(dāng)我...
    茶點故事閱讀 65,847評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著往枷,像睡著了一般框产。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上错洁,一...
    開封第一講書人閱讀 50,043評論 1 291
  • 那天秉宿,我揣著相機與錄音,去河邊找鬼屯碴。 笑死描睦,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窿锉。 我是一名探鬼主播酌摇,決...
    沈念sama閱讀 39,129評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼膝舅,長吁一口氣:“原來是場噩夢啊……” “哼嗡载!你這毒婦竟也來了窑多?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,872評論 0 268
  • 序言:老撾萬榮一對情侶失蹤洼滚,失蹤者是張志新(化名)和其女友劉穎埂息,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遥巴,經(jīng)...
    沈念sama閱讀 44,318評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡千康,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,645評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了铲掐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片拾弃。...
    茶點故事閱讀 38,777評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖摆霉,靈堂內(nèi)的尸體忽然破棺而出豪椿,到底是詐尸還是另有隱情,我是刑警寧澤携栋,帶...
    沈念sama閱讀 34,470評論 4 333
  • 正文 年R本政府宣布搭盾,位于F島的核電站,受9級特大地震影響婉支,放射性物質(zhì)發(fā)生泄漏鸯隅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,126評論 3 317
  • 文/蒙蒙 一向挖、第九天 我趴在偏房一處隱蔽的房頂上張望蝌以。 院中可真熱鬧,春花似錦何之、人聲如沸饼灿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,861評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽碍彭。三九已至,卻和暖如春悼潭,著一層夾襖步出監(jiān)牢的瞬間庇忌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,095評論 1 267
  • 我被黑心中介騙來泰國打工舰褪, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留皆疹,地道東北人。 一個月前我還...
    沈念sama閱讀 46,589評論 2 362
  • 正文 我出身青樓占拍,卻偏偏與公主長得像略就,于是被迫代替她去往敵國和親捎迫。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,687評論 2 351

推薦閱讀更多精彩內(nèi)容

  • 用到的組件 1表牢、通過CocoaPods安裝 2窄绒、第三方類庫安裝 3、第三方服務(wù) 友盟社會化分享組件 友盟用戶反饋 ...
    SunnyLeong閱讀 14,609評論 1 180
  • 更多音視頻知識請點擊:專注音視頻開發(fā) ffmpeg 的封裝轉(zhuǎn)換 FFmpeg的封裝轉(zhuǎn)換部分崔兴,主要是通過libavf...
    C_GO流媒體后臺開發(fā)閱讀 4,892評論 1 4
  • 推薦指數(shù): 6.0 書籍主旨關(guān)鍵詞:特權(quán)彰导、焦點、注意力敲茄、語言聯(lián)想位谋、情景聯(lián)想 觀點: 1.統(tǒng)計學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會...
    Jenaral閱讀 5,705評論 0 5
  • 昨天堰燎,在回家的路上掏父,坐在車?yán)镉圃沼圃盏乜粗摹度龉衬墓适隆罚冶焕锩娴膬?nèi)容深深吸引住了秆剪,盡管上學(xué)時...
    夜闌曉語閱讀 3,783評論 2 9
  • 一赊淑。匹配。 判斷一個字符串是否符合我們制定的規(guī)則鸟款? 二…捕獲 字符串中符合我們正則表達式膏燃,規(guī)則的,內(nèi)容捕獲到何什。 三...
    時修七年閱讀 976評論 2 0