最近手機錄了一些影片

想要在上面加上當時的timestamp找了很久都沒有可以用的

最後只好利用ffmpeg

command如下:

ffmpeg -i input.mp4 -vf "drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf: text='Wed 29\.06\.2016 / ':timecode='09\:31\:24\:00': r=30: x=10:y=10: fontcolor=white: fontsize=28: box=1: boxcolor=0x00000000@1" -y output.mp4

紅色的部份是要記得修改的

input.mp4可以改成你自己的影片檔名

Wed 29\.06\.2016 / 這是日期的部份

09\:31\:24\:00 起始時間的部份<HH:MM:SS:MS>

我本來是希望他可以自動去抓影片錄影當時的紀錄時間的,

不過怎麼抓都抓不到,

如果有人會的話也可以教我一下

不過通常手機錄影的時候檔名的部份就看得出錄影日期和開始錄影的時間了,

照著打上去就對囉

藍色的部份

/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf 這是字型的位置

大家字型想使用的不一樣或是放在不一樣的位置

記得要改對來喔,不然不會動的

r=30 frame rate大家可以稍微自己試試看,通常不是30就是25(一秒有25個frame)

如果你設定25,你的影片變得比原本還長,你就可以改成30

x=10:y=10這是時間會出現的位置,可以調整

x=(w-tw)/2: y=h-(2*lh) 智慧型算法<記得沒錯好像在螢幕正中下方>

fontcolor=white: fontsize=28 文字顏色和大小

fontcolor=white@0.8 我不確定但是我猜@0.8可能是透明度(猜錯告訴我正確意思)

不想要文字後面的黑框的話,這樣就行:

ffmpeg -i input.mp4 -vf "drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeMonoBold.ttf: text='Wed 29\.06\.2016 / ':timecode='09\:31\:24\:00': r=30: x=10:y=10: fontcolor=white: fontsize=28" -y output.mp4

-------------------------------------------------

另一種方式:

ffmpeg -i input.mp4 -vf "drawtext=expansion=strftime: fontfile=/usr/share/fonts/truetype/freefont/FreeMono.ttf: text='%a %d\.%m\.%Y / ': x=10:y=10: fontcolor=white: box=1: boxcolor=0x00000000@1: basetime=1467201127000000" -t 24 -y out7.mp4

只要你把basetime調對了 就可以完整的顯示出年月日時間了,

可是我調不出來

不知道basetime應該怎麼算

如果有人知道的話教我一下吧

arrow
arrow
    文章標籤
    ffmpeg timestamp
    全站熱搜

    insun 發表在 痞客邦 留言(0) 人氣()