> 原創文章轉載請注明出處,本文屬於個人筆記,務作執行或投資依據,如有侵權請聯系刪除。
> 作者:沉心靜氣 2021-12-10 19:46:46 星期五
FFmpeg是一個開源免費跨平台的視頻和音頻流方案,屬於自由軟件,采用LGPL或GPL許可證(依據你選擇的組件)。它提供了錄制、轉換以及流化音視頻的完整解決方案。它包含了非常先進的音頻/視頻編解碼庫libavcodec,為了保證高可移植性和編解碼質量,libavcodec里很多codec都是從頭開發的。
功能
多媒體視頻處理工具FFmpeg有非常強大的功能包括視頻采集功能、 視頻格式轉換、視頻抓圖、給視頻加水印等,。
視頻采集功能
FFmpeg是在 Linux下開發出來的,但它可以在包括Windows在內的大多數 [操作系統]中編譯。這個項目是由Fabrice Bellard發起的,現在由Michael Niedermayer主持。
ffmpeg視頻采集功能非常強大,不僅可以采集 [視頻采集卡]或USB [攝像頭]的圖像,還可以進行屏幕錄制,同時還支持以RTP方式將視頻流傳送給支持RTSP的 [流媒體服務器],支持直播應用等。
視頻格式轉換功能
ffmpeg視頻轉換功能。視頻格式轉換,比如可以將多種視頻格式轉換為flv格式,可不是視頻信號轉換 。
ffmpeg可以輕易地實現多種視頻格式之間的相互轉換(wma,rm,avi,mod等),例如可以將攝錄下的視頻avi等轉成現在視頻網站所采用的flv格式。
視頻截圖功能
對於選定的視頻,截取指定時間的縮略圖。視頻抓圖,獲取靜態圖和動態圖,不提倡抓gif文件;因為抓出的gif文件大而播放不流暢
給視頻加水印功能
使用ffmpeg 視頻添加水印(logo)。
下面說一下在windows電腦上對視頻格式轉換是如何利用ffmpeg進行的,方法也很簡單,將下載的ffmpeg.exe拷貝到C:\Windows\System32下(省去了配置環境變量)cmd下輸入ffmpeg查看安裝是否可用。

將如下語句保存批處理bat文件,起一個名字,放到桌面或者你能找到的地方。
點擊查看代碼
@echo off&setlocal enabledelayedexpansion
title 正在轉換,mp4轉換完成自動關閉
ffmpeg -i %1 -y -qscale 0 -vcodec libx264 %~n1.mp4
for /f "delims=" %%i in ('dir /s/b *.*') do (
set "foo=%%~nxi"
set foo=!foo: =!
set foo=!foo: =!
ren "%%~fi" "!foo!"
)
將視頻文件單個拖拽到bat文件上就會自動轉碼mp4成功后黑框會自動退出,轉碼后的文件輸出與轉碼文件目錄下,經過測試支持wmv、avi、mov、ts、mts、flv、mkv、m4v、vob、f4v等視頻格式。

此外我這個腳本還可以批量去除文件中帶有的空格命名,出現下圖這個報錯顯示找不到合適的輸出格式,非法參數 Invalid argument是ffmpeg執行生成的,重新再拖拽一次處理過命名的文件應該就能轉碼了。
如果文件命名有空格第一拖拽會去除空格,再一次把文件拖拽到bat文件才能進行轉碼。

轉碼完成會自動關閉黑框,然后檢查轉碼后的視頻mp4格式能否正常播放,因為個人水平有限這個bat批處理還不能批量執行視頻轉碼,如果知道dos命令能改進這個批處理的望不吝賜教優化這個腳本。

另外有好多人用FastStone Capture屏幕截圖軟件(小巧而功能強大的神器)錄屏后視頻格式是wmv格式,不利於日常使用的微信上視頻分享(微信不支持wmv在線觀看),可以用我這個方法錄完屏只要一拖就把視頻輸出mp4格式就可以進行微信分享了,哈哈。
FFmpeg下載地址 https://github.com/BtbN/FFmpeg-Builds/releases/

解壓后到將bin目錄中的ffmpeg.exe拷貝到C:\Windows\System32下即可,配合本文中腳本就可以使用了。

特別感謝如下文章對我提供的參考幫助
