利用windows批处理bat文件快速执行视频转码


> 原创文章转载请注明出处,本文属于个人笔记,务作执行或投资依据,如有侵权请联系删除。 > 作者:沉心静氣 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下即可,配合本文中脚本就可以使用了。

特别感谢如下文章对我提供的参考帮助

1.FFmpeg命令介绍
2.从FFmpeg耻辱榜看开源软件的“潜规则”

相关