發表文章

目前顯示的是 7月, 2025的文章

解決升級node.js 20版本後import json file的警示'assert' is deprecated in import statements and support will be removed in a future version

完整的警示訊息是 (node:16142) V8: file:///workspace//src/main.mjs:3 'assert' is deprecated in import statements and support will be removed in a future version; use 'with' instead   原本 import serviceAccount from '../serviceAccount.json' assert { type : 'json' }; 改成 import serviceAccount from '../serviceAccount.json' with { type : 'json' }; 解決!

用BASH批次改影片名-時間戳轉換與去除前綴

使用BASH修改影片檔名格式 1. 轉換時間戳成日期 舉例說明: 1685877964314.mp4 改成 20230604_192604.mp4  1688511747190.mp4 改成 20230705_070227.mp4 2. 去除前綴詞 舉例說明: video_20230601_204241.mp4 改成 20230601_204241.mp4

連拍照片轉成gif或影片(ffmpeg)

跑馬拉松會有場邊幫忙拍照的,有時候給一連串個人照片,我們就可以透過ffmpeg把他們轉成動圖或是影片 ffmpeg照片轉mp4影片 ffmpeg照片轉gif動圖 以下分別介紹轉換方法 ffmpeg照片轉mp4影片 ffmpeg -framerate 3 -i %02d.jpg -c:v libx264 -pix_fmt yuv420p output.mp4 如果覺得轉成的mp4影片速度比較慢,可以把-framerate 3改成-framerate 6或更大得數值;反之,若覺得mp4影片速度較快,可以把-framerate 3改成-framerate 2或更小得數值。 -i %02d.jpg 是指照片檔案的檔名為01.jpg,02.jpg,03.jpg.... ffmpeg照片轉gif動圖 ffmpeg -framerate 3 -i %02d.jpg -loop 0 output.gif 如果覺得轉成的動圖速度比較慢,可以把-framerate 3改成-framerate 6或更大得數值;反之,若覺得動圖速度較快,可以把-framerate 3改成-framerate 2或更小得數值。 -i %02d.jpg 是指照片檔案的檔名為01.jpg,02.jpg,03.jpg.... -loop 0是表示反覆播放 使用上述這個指令產生出來的圖片會有網格感,是因為採用的色盤沒有經過最佳化。 最佳化轉gif動圖 最佳化就是需要分成兩個階段來處理 階段1. 生成使用的顏色色盤 階段2. 轉換成動圖 ffmpeg -i %02d.jpg -vf palettegen palette.png ffmpeg -framerate 3 -i %02d.jpg -i palette.png -lavfi paletteuse - loop 0 output.gif 參數同前面得解釋

ffmpeg將mp4影片轉換成mp3音檔

  ffmpeg將mp4影片轉換成mp3音檔 原來我沒紀錄過這個,不過在AI時代,這些已經不重要了。 只要在google打一句話 convert mp4 video to mp3 audio using ffmpeg in bash, AI就會回答我們了 #!/bin/bash for file in *.mp4; do filename = "${ file % . * }" echo "to mp3 $filename ..." ffmpeg -y -i " $file " -vn -dn -sn -acodec libmp3lame -b:a 128k " $filename .mp3" done ffmpeg的參數 -y 若輸出的檔案已存在,強制覆蓋不詢問 -i 檔案名稱  指定輸入檔案 -vn -dn -sn 不要處理影片(video),資料(data),字幕(subtitle) -acodec 指定音訊編碼器 -b:a 指定audio的碼率(bitrate) 以前紀錄的只有Windows Prompt(命令提示字元)的版本 用ffmpeg轉換任意影片成mp3