使用ffmpeg将一个目录下的mkv格式的视频文件转换成mp4格式

最近学剪辑,从BT种子下载的素材资源都是mkv格式的,不能直接导入到视频剪辑软件中。这种情况下需要用一些格式转换工具进行转换,也可以使用ffmpeg进行编辑。

ffmpeg是一个命令行工具,用来对本地的音频视频软件进行编辑。ffmpeg我也是头一次使用,虽然知道它的功能强大,但之前了解之后安装放在自己的电脑上,就没动过了,趁着这次尝试一下。

首先,我用迅雷将影视资源下载到的目录如下:

ffmpeg处理一个文件的命令有两种方式:

  • ffmpeg -i 要转换的视频地址 转换后的视频存放地址
  • ffmpeg -i 要转换的视频地址 -c copy 转换后的视频存放地址
    两种方式的区别为将前者会重新将原视频进行编码后再进行转换,后者则不编码直接进行转换。所以后者速度上会快一些。这里选择第二种方式对上图中第一个mkv文件进行尝试转换,输出的目录为我的桌面。

输入第一部分命令后,将文件直接拖拽到命令行空格处,自动将目录粘贴,并继续输入自己的存储路径,我这里先保存到桌面,/Users/guolianxin/Desktop,如下:

发现报错了,原因是存储的路径并不是指一个文件夹,而是要附带上转换的格式。

我重新添加了内容要保存为的文件明名字和格式后缀,成功在桌面生成了目标文件。

打开文件,出现问题:提示无法打开文件或流。

报错如下:
[mp4 @ 0x12f607870] track 1: codec frame size is not set [mp4 @ 0x12f607870] flac in MP4 support is experimental, add '-strict -2' if you want to use it. Could not write header for output file #0 (incorrect codec parameters ?): Experimental feature Error initializing output stream 0:1 --

网上搜了一下,发现是编码为mp4时使用flac是实验性的,需要添加允许的命令,以及写入的文件头有问题。

我也不会,找了其他命令:
ffmpeg -i 输入路径 -c:v copy -c:a aac -strict -2 输出路径

然后处理了十几秒,成功导出:

相关推荐
喵手11 小时前
Java实现视频格式转换的完整指南:从FFmpeg到纯Java方案!
java·开发语言·ffmpeg
钰爱&11 小时前
【Qt】ffmpeg编码—存储(H264)
c++·qt·ffmpeg
yunteng52111 小时前
音视频(二)ffmpeg编译及推流
ffmpeg·音视频·h264·媒体推流
DogDaoDao17 小时前
从零开始:Windows 系统中 PowerShell 配置 FFmpeg 的详细步骤
windows·ffmpeg·音视频·ffplay·powershell·视频直播·ffprobe
m晴朗2 天前
ffmpeg(1)-图片相关知识
ffmpeg·yuv·rgb·像素
邪恶的贝利亚2 天前
学习ffmpeg-从了解开始
学习·ffmpeg
老友@2 天前
从 Word 到 HTML:使用 Aspose.Words 轻松实现 Word 文档的高保真转换
java·后端·性能优化·html·word·aspose·格式转换
xiao--xin3 天前
使用ProcessBuilder执行FFmpeg命令,进程一直处于阻塞状态,一直没有返回执行结果
java·笔记·ffmpeg·个人开发·缓冲区·进程阻塞
音视频牛哥3 天前
nginx-rtmp-module之ngx_rtmp_live_module.c代码详解
运维·c语言·nginx·ffmpeg·大牛直播sdk·nginx rtmp代码·nginx rtmp服务器
肥肥呀呀呀4 天前
Flutter视频播放优化
ffmpeg·音视频