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

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

相关推荐
月起星九1 天前
为什么ffmpeg进行视频合成有时长误差
ffmpeg·音视频
长沙红胖子Qt3 天前
FFmpeg开发笔记(十二):ffmpeg音频处理、采集麦克风音频录音为WAV
ffmpeg·pcm·wav·录音·麦克风
aqi003 天前
FFmpeg开发笔记(八十一)FFmpeg代码对RTSP和RTMP的推流区别
ffmpeg·音视频·直播·流媒体
奔跑吧邓邓子4 天前
【C++实战(71)】解锁C++音视频开发:FFmpeg从入门到实战
c++·ffmpeg·实战·音视频
骄傲的心别枯萎4 天前
项目1:FFMPEG推流器讲解(一):FFMPEG重要结构体讲解
linux·ffmpeg·音视频·视频编解码·rv1126
骄傲的心别枯萎5 天前
项目1:FFMPEG推流器讲解(二):FFMPEG输出模块初始化
linux·ffmpeg·音视频·视频编解码·rv1126
筏.k6 天前
FFmpeg 核心 API 系列:av_read_frame / avcodec_send_packet / avcodec_receive_frame
ffmpeg
humors2216 天前
批量M3U8转MP4工具
ffmpeg·视频·mp4·多媒体·转换·m3u8
神洛华6 天前
FFmpeg 全面教程:从安装到高级应用
ffmpeg
筏.k7 天前
FFmpeg 核心 API 系列:avcodec_find_decoder / avcodec_alloc_context3 / avcodec_open2
ffmpeg