echo Impossible|sed 's/Im/To be /'

February 26, 2017

ffmpeg - edit video by ffmpeg

Edit video by ffmpeg

Date:<2017-11-30 Thu 17:43>

演講被要求 Demo 採錄影的方式呈現。最後用 audacity 錄音,ffmpeg 剪輯及混音,留個記錄給未來的自已查詢。

  • ffmpeg - video converter
  • avidemux3 - GUI 影片剪輯軟體
  • audacity - wave/mp3 聲音編輯軟體
  • gneve - GNU Emacs Video Editor mode
# 影片切段 Split/Trim video using FFmpeg
$> ffmpeg -ss 00:00 -t 00:18.7 -i input.mp4 -vcodec copy -acode copy output.mp4

# 多影片合併 Merge video files and convert to desired formats
$> cat flist.txt
file './s1.mp4'
file './s2.mp4'
file './s3.mp4'
$> ffmpeg -f concat -safe 0 -i flist.txt -c copy output.mp4

# 除去影片聲音
$> ffmpeg -i input.mp4 -vcodec copy -an output.mp4

# 取出影片聲音 | aac 或 mp3 由影片原始檔案決定
$> ffmpeg -i input.mp4 -acodec copy -vn output.aac
$> ffmpeg -i input.mp4 -acodec copy -vn output.mp3

# 匯入音軌
$> ffmpeg -i input.mp4 -i in.aac -map 0:v -map 1:a -bsf:a aac_adtstoasc -c copy output.mp4
$> ffmpeg -i input.mp4 -i in.mp3 -map 0:v -map 1:a -c copy output.mp4

# 重新壓製 (encode)
$> ffmpeg -i input.mp4 -c:v mpeg4 -b:v 20000K -acodec copy output.mp4

# other 影片旋轉
$> ffmpeg -i input.mp4 -vf vflip output.mp4
$> ffmpeg -i input.mp4 -vf hflip output.mp4

# PIP Picture in Picture with FFMPEG
$> ffmpeg -y -i main.mp4 -i overlay.mp4 -filter_complex \
"[1]scale=iw/4:ih/4 [pip]; [0][pip] overlay=main_w-overlay_w:main_h-overlay_h" \
-c:a aac -c:v mpeg4 -b:v 20000k -r 30 output.mp4

發現 2 秒的影片接上 120 秒的聲音,影片會停在最後的畫面直到聲音撥完。猜測應該可以用圖檔配 mp3。

各段影片中的聲音格式不可以混用,例如前面用 mp3 之後接 aac,這會造成後面接的聲音無法解析。

Posted by Lloyd Huang in on February 26, 2017