• 2

影片後半部聲音和畫片些微不同步

影片 fps 看了一下被壓成了 30fps,正常來說應該要 29.97fps 才對,聲音部份則是 44.1KHz,所以我猜想是不是因為影片變成 30fps,但聲音應該是要配合 29.97fps 導致影音不同不的問題。請問要怎麼用 ffmpeg 來修正這個問題呢?目前有嘗試過下面幾項作法:
ffmpeg -i source.mp4 -acodec copy -r 29.97 -vcodec hevc -max_muxing_queue_size 4096 result.mp4

也試著加入 async 選項,不曉得這樣對不對就是了
ffmpeg -i source.mp4 -async 1 -acodec copy -r 29.97 -vcodec hevc -max_muxing_queue_size 4096 result.mp4
2019-11-06 9:50 發佈
s9209122222 wrote:
影片 fps 看了一...(恕刪)

試試這樣
ffmpeg -i input.mp4 -filter:v fps=fps=29.97 output.mp4


更改幀頻


見: 如何更改幀頻
有兩種更改輸出幀速率的方法:

隨著 fps filter "fps=fps=29.97"
使用 -r 選項作為輸出選項


ffmpeg -i input.mp4 -r 29.97 output.mp4
别被我選中..為何又選中..
ahwaiyuen98 wrote:
試試這樣ffmpeg...(恕刪)

我有使用過 -r 更改幀率了喔,但是沒效

按了 F12 看了才知道你是用 pre 打出那種框框的,論壇預設沒給這種效果
s9209122222 wrote:
影片 fps 看了一下被壓成了 30fps,正常來說應該要 29.97fps 才對..(恕刪)

用 MKV Tool Nix 把 video track 的 fps 改成 30000/1001 看看. ( 30000/1001 = 29.97002997003)


剛剛我有試了一下,

把本來正常的 fps 改掉, 輸出的檔 就會變成 影音不同步 .

把改走的檔 改回原本的 fps, 此時輸出的檔 影音就會恢復同步 了..
.
s9209122222 wrote:
我有使用過 -r 更...(恕刪)




ffmpeg 我並不是專業.01有個專家.他上來通常都有補充.但很久沒上01了.

kingdragon參考看看


用pre.長指今可以拖拉.指令空位不會錯.
以上參考只是 h 264 至於 hevc 在ffmpeg測試加入 "-vcodec hevc" 也發覺音訊也有些差别.但表面看是影同步.當然時間太短.分辨不出來.時間問題所以我只用短表測試.不知道樓主影片長度有多長.

ffmpeg -i input.mkv -filter:v fps=fps=29.97 -vcodec hevc output.mkv

ffmpeg -i input.mkv -r 29.97 -vcodec hevc output.mkv


當我用Olive Video Editor轉出.可能是沒有毫秒.看到沒有差别.影音也同步.

别被我選中..為何又選中..
ahwaiyuen98 wrote:
當我用Olive Video Editor轉出.可能是沒有毫秒.看到沒有差别.影音也同步...(恕刪)

片長的時間一樣, FPS 不一樣, 那兩個檔的 總影格數 應該不一樣

有可能是 Olive Video Editor 有做 resample..

MediaInfo 居然找不到 總影格數 ,

那拖進 VirtualDub2 來看 總影格數 ...




35048 / ( 24000 / 1001) = 1461.79366666667
1461.79366666667 / 60 = 24.3632277777778 (24分)
0.3632277777778 * 60 = 21.793666666668 (21.79..秒)

24分 21.79..秒
宅男乙 wrote:
片長的時間一樣, FPS...(恕刪)

當然:片長的時間一樣, FPS 不一樣, 那兩個檔的 總影格數 應該不一樣
但音訊長是一樣.才會同歩.

我以Olive Video Editor測試.表面看沒分别.因為時間只有 6分.02秒.並不準確.因為看不到毫秒.轉檔時間雖然慢一點.
ffmpeg hevc 可看到兩影片.毫秒有分别.樓主也說過「影片後半部聲音和畫片些微不同步」.所以時間長了.自然尾段分别就大了.我時間有限.不能做太多測試.

我自己制作影片也很少用到太長影片.畢竟 hevc也很少用到,
網上也找不到有這類問題.文章也少.所以只能提供參考.
ffmpeg x265 Changing the frame rate
别被我選中..為何又選中..
ahwaiyuen98 wrote:
當然:片長的時間一樣...(恕刪)

我這影片並不是轉檔成 HEVC 後才後半部影音不同步的,用 HEVC 只是單純她比較先進省空間
試試看
ffmpeg -f mp4 -i "in.mp4" -acodec copy -filter:v "mpdecimate,setpts=N*1001/30000/TB" -vcodec libx264 -crf 0 -preset ultrafast -f mp4 "out.mp4" -y

ffmpeg -f mp4 -i "in.mp4" -acodec copy -filter:v "decimate=cycle=1001,setpts=N*1001/30000/TB" -vcodec libx264 -crf 0 -preset ultrafast -f mp4 "out.mp4" -y
s9209122222 wrote:
我這影片並不是轉檔成...(恕刪)


我上面"2樓" 用 ffmpeg 的影片是 6分鐘 MP4 或 HEVC fps25 互轉 fps60 拉到最後都看不到有不同步.但再長我還没試過.所以問你影片有多長.

還有 ffmpeg 有些指令也和版本新舊有関.

ffmpeg Changing the frame rate
别被我選中..為何又選中..
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?