mac 用 FFmpeg 解決影音不同步

更新 發佈閱讀 5 分鐘
FFmpeg 是開源界最強大的影音解決套件。

FFmpeg 是開源界最強大的影音解決套件。

如何快速地調整影音不同步的問題呢?如果你不嫌棄用 CLI 介面的話,答案是用 FFmpeg 這個開源套件。

如何安裝 ffmpeg

如果你的 mac 有裝 homebrew 的話,那麼就是:

brew install ffmpeg

對!不要懷疑,用 homebrew 管理開源套件就是這麼輕鬆,一句簡單的指令就搞定。

它的簡易指令如下:

ffmpeg -i input.mp4 -itsoffset 0.5 -i input.mp4 -map 0:v -map 1:a -c:v copy -c:a aac output_fixed.mp4

  • -i input.mp4:來源影片檔(宣告兩次,第一次是提取影片軌,第二次提取音訊軌)。
  • -itsoffset 0.5:將聲音延遲 0.5 秒。
  • -map 0:v:指定第一個來源檔的影片軌。
  • -map 1:a:指定第二個來源檔的音訊軌。
  • -c:v copy:保留原始畫面,畫質不變。
  • -c:a aac:重新編碼音訊(避免不支援未編碼音訊的播放器出錯)
  • output_fixed.mp4:輸出的影片檔案。

寫成可重複使用的指令腳本

懶人如我,一定要把寫過的程式變成可以重複執行的指令,於是:

#!/bin/bash
# FixAudioDelay_v0.1b
# ​Copyright (c) 2025 Alrin
# delay 正數 = 聲音延後(聲音比畫面快)
# delay 負數 = 影片延後(聲音比畫面慢)

if [ -z "$1" ]; then
echo "❗ 請提供 MP4 檔案路徑。"
echo "用法:./fix_audio_delay.sh input.mp4 [delay_in_seconds]"
exit 1
fi

INPUT="$1"
DELAY="$2" # 聲音延遲秒數
EXT="${INPUT##*.}"
BASENAME="${INPUT%.*}"
OUTPUT="${BASENAME}_fixed.${EXT}"

echo "🎬 修正中..."
echo "來源:$INPUT"
echo "延遲秒數(正=聲音延遲,負=影片延遲):$DELAY"
echo "輸出:$OUTPUT"

# 判斷 delay 是正或負
if (( $(echo "$DELAY > 0" | bc -l) )); then
# 聲音延後
ffmpeg \
-i "$INPUT" \
-itsoffset "$DELAY" -i "$INPUT" \
-map 0:v:0 \
-map 1:a:0 \
-c:v copy \
-c:a aac \
"$OUTPUT"
else
POS_DELAY=$(echo "${DELAY#-}") # 去掉負號
# 影片延後
ffmpeg \
-itsoffset "$POS_DELAY" -i "$INPUT" \
-i "$INPUT" \
-map 0:v:0 \
-map 1:a:0 \
-c:v copy \
-c:a aac \
"$OUTPUT"
fi

echo "✅ 完成!"

老規矩,如果你要分享這個指令我不反對,但請不要刪掉我前面的版權註記,我會在程式裡面標暗號,但是希望大家能在取用的時候尊重一下創作者,我會非常感激~

如何使用?

很簡單,假設你把上述程式碼存成「fix_audio_delay.sh」,並設定為可執行檔,就可以執行,它的語法邏輯是這樣的:

fix_audio_delay.sh [你的來源檔案] [你想要聲音延遲的秒數]

假設,你的影片「聲音比畫面快1秒」,就是幫聲音+1秒:

fix_audio_delay.sh input.mp4 1

如果反過來「聲音比畫面慢1秒」,就是幫聲音-1秒:

fix_audio_delay.sh input.mp4 -1

-itsoffset 參數

-itsoffset(時間偏移設定)是 ffmpeg 的基準參數,如果你對於其他 itsoffset 有興趣,不妨可以參考官方說明頁面:

https://trac.ffmpeg.org/wiki/UnderstandingItsoffset

歡迎成為 CLI 的愛好者~



留言
avatar-img
留言分享你的想法!
avatar-img
Publishub
3會員
15內容數
這裡是Publishub,專門寫一些和數位發展趨勢、技術相關,我在這邊分享一些我觀察到的新知,希望你會喜歡~
Publishub的其他內容
2025/10/07
用什麼工具來翻譯字幕檔案呢?機翻字幕很差,AI 翻譯又限制很多…… 有時候我們會想要翻譯字幕,把已經做好的影片從原本的語言翻譯成目標語言,如此一來你的影片就可以同時擁有多國字幕,這樣聽起來有沒有很炫? 在以前,翻譯字幕可是大工程,就像書籍譯者一樣,字幕譯者同樣是影片的重要貢獻者,影片大賣受到好評
Thumbnail
2025/10/07
用什麼工具來翻譯字幕檔案呢?機翻字幕很差,AI 翻譯又限制很多…… 有時候我們會想要翻譯字幕,把已經做好的影片從原本的語言翻譯成目標語言,如此一來你的影片就可以同時擁有多國字幕,這樣聽起來有沒有很炫? 在以前,翻譯字幕可是大工程,就像書籍譯者一樣,字幕譯者同樣是影片的重要貢獻者,影片大賣受到好評
Thumbnail
2025/10/03
先說明,這篇不是要和大家分享風花雪月,只是我覺得大家在面對 AI 的態度,真的不要加入太多主觀情緒。它是工具,不是你拿來吵架的對象;它是人工智慧的前身,不是你的前任;它是文字接龍,不是你情感宣洩的出口…… 這篇文章算是我用了差不多 6 年 AI 之後的心得感想。類似的心得應該很多 Vlog、大神們
Thumbnail
2025/10/03
先說明,這篇不是要和大家分享風花雪月,只是我覺得大家在面對 AI 的態度,真的不要加入太多主觀情緒。它是工具,不是你拿來吵架的對象;它是人工智慧的前身,不是你的前任;它是文字接龍,不是你情感宣洩的出口…… 這篇文章算是我用了差不多 6 年 AI 之後的心得感想。類似的心得應該很多 Vlog、大神們
Thumbnail
2025/09/30
macOS Ventura 之後就開始刪減 OS 端的控制介面,在 UI 上會看起來更簡單,不過實際上那些東西都還能透過 CLI 來調整,結果就是 mac 用戶的門檻越來越低,而系統操控的門檻則越來越高…… macOS 在當初賈伯斯(以下簡稱「賈伯」😅)的想法下,持續地往 Server 端來靠攏
Thumbnail
2025/09/30
macOS Ventura 之後就開始刪減 OS 端的控制介面,在 UI 上會看起來更簡單,不過實際上那些東西都還能透過 CLI 來調整,結果就是 mac 用戶的門檻越來越低,而系統操控的門檻則越來越高…… macOS 在當初賈伯斯(以下簡稱「賈伯」😅)的想法下,持續地往 Server 端來靠攏
Thumbnail
看更多
你可能也想看
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
還在煩惱平凡日常該如何增添一點小驚喜嗎?全家便利商店這次聯手超萌的馬來貘,推出黑白配色的馬來貘雪糕,不僅外觀吸睛,層次豐富的雙層口味更是讓人一口接一口!本文將帶你探索馬來貘雪糕的多種創意吃法,從簡單的豆漿燕麥碗、藍莓果昔,到大人系的奇亞籽布丁下午茶,讓可愛的馬來貘陪你度過每一餐,增添生活中的小確幸!
Thumbnail
下載處: 安裝msi  https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 或單獨使用 https://the.earth.li/~sgtatham/putty/latest/w64/pscp.exe  安裝好可以
Thumbnail
下載處: 安裝msi  https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html 或單獨使用 https://the.earth.li/~sgtatham/putty/latest/w64/pscp.exe  安裝好可以
Thumbnail
玩完PVE到搭個NAS,今次用OpenMediaVault。 又係Debian base,太懶,係咁禁Next,一大隻Partition過,結果中晒伏。 Storage/File Systems 搵唔到 / 個file system,Google左輪,搵唔到。試下搞下fstab,除左會開
Thumbnail
玩完PVE到搭個NAS,今次用OpenMediaVault。 又係Debian base,太懶,係咁禁Next,一大隻Partition過,結果中晒伏。 Storage/File Systems 搵唔到 / 個file system,Google左輪,搵唔到。試下搞下fstab,除左會開
Thumbnail
MacOS 先下載Homebrew,然後輸入底下指令: brew install go 確認是否安裝完成 go version 環境設定 export GOPATH=$HOME/go
Thumbnail
MacOS 先下載Homebrew,然後輸入底下指令: brew install go 確認是否安裝完成 go version 環境設定 export GOPATH=$HOME/go
Thumbnail
MacOS 請先安裝「Homebrew」。開啟「終端機」,輸入底下指令: brew cask install​ docker 載入Docker App後,點擊Next,輸入MacOS登入密碼。安裝完成後,輸入底下指令查看版本資訊: ​docker -v Linux 開啟「終端機
Thumbnail
MacOS 請先安裝「Homebrew」。開啟「終端機」,輸入底下指令: brew cask install​ docker 載入Docker App後,點擊Next,輸入MacOS登入密碼。安裝完成後,輸入底下指令查看版本資訊: ​docker -v Linux 開啟「終端機
Thumbnail
上一單元,我向你介紹了我使用的七項硬體工具。在這一單元,我接著要和你分享軟體層面,我正在使用的兩款軟體工具,我怎麼使用它們,以及我為什麼選擇它們。當硬體有了,軟體也要跟上,才能發揮好的生產力。
Thumbnail
上一單元,我向你介紹了我使用的七項硬體工具。在這一單元,我接著要和你分享軟體層面,我正在使用的兩款軟體工具,我怎麼使用它們,以及我為什麼選擇它們。當硬體有了,軟體也要跟上,才能發揮好的生產力。
Thumbnail
#底層邏輯 #百萬網紅也是這樣教 單純製作短視頻的順序~(簡要版) . #規劃與觀察 第一、選擇賽道、觀察對手先開帳號去跟有興趣的帳號互動,了解不同平台熱門的賽道,進而選擇適合自己的賽道找出競品差異,建立精準的人設。 . #決心很重要 第二、準備設備和決心其實穩定器、指向麥克風、手機幾乎就是全部的
Thumbnail
#底層邏輯 #百萬網紅也是這樣教 單純製作短視頻的順序~(簡要版) . #規劃與觀察 第一、選擇賽道、觀察對手先開帳號去跟有興趣的帳號互動,了解不同平台熱門的賽道,進而選擇適合自己的賽道找出競品差異,建立精準的人設。 . #決心很重要 第二、準備設備和決心其實穩定器、指向麥克風、手機幾乎就是全部的
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News