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

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

相关推荐
岁月小龙7 小时前
如何让ffmpeg运行时从当前目录加载库,而不是从/lib64
ffmpeg·origin·ffprobe·rpath
行者记2 天前
ffmpeg命令——从wireshark包中的rtp包中分离h264
测试工具·ffmpeg·wireshark
EasyCVR2 天前
国标GB28181视频平台EasyCVR私有化视频平台工地防盗视频监控系统方案
运维·科技·ffmpeg·音视频·1024程序员节·监控视频接入
hypoqqq2 天前
使用ffmpeg播放rtsp视频流
ffmpeg
cuijiecheng20182 天前
音视频入门基础:FLV专题(24)——FFmpeg源码中,获取FLV文件视频信息的实现
ffmpeg·音视频
QMCY_jason2 天前
黑豹X2 armbian 编译rkmpp ffmpeg 实现CPU视频转码
ffmpeg
苍天饶过谁?2 天前
SDL基本使用
ffmpeg
HZ355722 天前
ffmpeg视频解码
ffmpeg·音视频
runing_an_min2 天前
windows运行ffmpeg的脚本报错:av_ts2str、av_ts2timestr、av_err2str => E0029 C4576
c++·windows·ffmpeg·e0029
EelBarb2 天前
ffmpeg:视频字幕嵌入(GPU加速)
ffmpeg·音视频