使用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 输出路径

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

相关推荐
芒鸽8 小时前
鸿蒙PC上FFmpeg+Electron的Encode Smoke(P2) 排错实录:从“无法播放/时长为 0”到“保留画面且转完整时长”
ffmpeg·electron·harmonyos
小馬佩德罗9 小时前
如何将x264 x265的动态库编译入Linux系统中的FFmpeg源码 - x265库编译
linux·ffmpeg·x265
bugtraq202111 小时前
使用FFmpeg API转音频格式
ide·ffmpeg·myeclipse
小馬佩德罗14 小时前
如何将x264 x265的动态库编译入Linux系统中的FFmpeg源码 - FFmpeg编译
linux·ffmpeg
你好音视频15 小时前
FFmpeg HLS编码流程深度解析:从数据包到播放列表的完整实现
c++·ffmpeg·音视频
芒鸽15 小时前
macOS 上用 lycium 交叉编译 FFmpeg 适配鸿蒙(OHOS):从构建到 HNP 打包
macos·ffmpeg·harmonyos
特立独行的猫a1 天前
移植FFmpeg最新 8.1版本到鸿蒙PC(OpenHarmony)平台完整指南
ffmpeg·harmonyos·移植·交叉编译·鸿蒙pc
妫以明1 天前
FFmpeg:视频处理界的瑞士军刀
ffmpeg·音视频
YJlio2 天前
Contig 学习笔记(13.6):分析现有文件碎片化程度——报告、日志与“碎片基线”
笔记·学习·ffmpeg
重庆Debug2 天前
当我试图搞清楚 FFmpeg 的硬件加速时,我写了一个能自动检测所有 GPU 编码器的小工具
ffmpeg