开启辅助访问
 找回密码
 立即注册

怎样快速/无损将H.264编码的MKV文件转换为同是H.264编码的MP4文件?

youke8 回答数6 浏览数386056
同编码,意味着只要重新打包就可以,效率会非常高。
xpshowcn | 未知
180125无聊更新下,按照评论的直接cd /d 就可以了
cd /d D:\文件所在路径(选择源文件后按shift+右键复制为路径^^)
不重编码格式转换
ffmpeg -i input.mkv -c copy output.mp4
如果要多音轨的MP4以我有限的知识只能是封装成多声道……囧
不重编码封装内挂字幕
ffmpeg -i input.mp4 -i abc.ass -c:s mov_text -c copy output.mp4
提取声道
ffmpeg -i audio.aac -map_channel 0.0.0 left.aac -map_channel 0.0.1 right.aac
一图流,视频长度=音轨,-s后面是自定义分辨率,-r是帧率
按图片分辨率
ffmpeg -loop 1 -i FBI.jpg -i audio.aac -c:a copy -c:v libx264 -pix_fmt yuv420p -r 25 -shortest out.mp4
自定义分辨率
ffmpeg -loop 1 -i FBI.jpg -i audio.aac -c:a copy -c:v libx264 -s 1280x720 -pix_fmt yuv420p -r 25 -shortest out720p.mp4


=================================
ffmpeg使用前需要 cd到视频所在文件夹或把视频文件复制到ffmpeg文件夹 ……
技术渣之前被坑惨了,因为官方也好其他的一些教程也好压根没提到这事!!!找到的大多都是命令参数说明……
如果不CD就用上面回答这条命令:
ffmpeg -i input.mkv -vcodec copy -acodec copy out.mp4
那么得出的结果肯定是error……


如何使用 FFmpeg 进行视频转码:开始转码
原文猛击
目录
开始转码   
部分节选
假设这个视频已经下载到了你的电脑硬盘中,并存放在 /home/alex/Downloads/ 这个目录里面,而且 FFmpeg 已经安装到你的电脑中。那么现在打开终端,然后使用 cd 命令转到文件所在的位置,比如在我的情况下,运行 cd /home/alex/Downloads/ ,它不会有任何输出。
注意: 如果文件路径包含空格或一些特殊字符,请使用半角引号( ' 或 " )将路径名包起来,比如如果文件在 /home/alex/path with space/ ,执行 cd "/home/alex/path with space/" 而不是 cd /home/alex/path with space/ 。注意: 如果你使用的是 Microsoft Windows ,并且文件不在 C 盘,需要再“执行”一下盘符,比如如果文件存放在 D:\\Downloads\ 里面,执行以下两条命令:
  1. [/code]cd 完了之后,如果你有强迫症想要检查一下是否真的已经切换到目标目录去了,可以运行 ls ( GNU/Linux, Mac OS X )或 dir ( Microsoft Windows )。只要显示出来的确实是那个目录里的文件,就说明没有问题,你可以放心继续。
  2. 接下来输入 ffmpeg 但不要回车,我们要使用 -i 选项来指定输入文件。输入文件就是我们要转换的文件,比如我在此处要转换的文件叫做 Tor_Animation_en.mp4 ,我就再往命令行中打 -i Tor_Animation_en.mp4 。
  3. 在指定了输入文件之后,我们还要指定一个输出文件,不然 FFmpeg 把转换出来的文件保存在哪儿呢?
  4. 输出文件可以是任何名字,但它的后缀名很关键,上一章已经讲过,后缀名通常就代表着文件的封装格式。在这个例子中,我想将视频转换为 Matroska 格式(俗称 MKV 格式),那么我输出文件的后缀名就得是 .mkv 。最终,我想将文件保存为 tor.mkv ,就在命令行后面直接加上这个文件名。
  5. 最后,我的命令行上有着这样一条命令:
  6. [code]
复制代码
注意: 跟 cd 时的目录路径一样,如果文件名包含空格或一些特殊字符,也需要用半角引号将它们包裹起来。比如如果输入文件名叫 input file.mp4 且输出文件名叫 output file.mkv ,整条命令就得是 ffmpeg -i "input file.mp4" "output file.mkv" 。
按下回车吧!
虽然这一节的内容很长,不过你读过之后应该就会发现,这其实就是这么一条简单的命令。为了使大家更好理解,我才将这一节写的这么详细。
如果你使用的文件很小,而且电脑性能不是特别差,可能你还没有读完上一段话,就已经转换完成了。你的命令行窗口可能看起来像是这样:

你通常不必去管里面写的是什么,只要没出现红色的 ERROR ,一般就是没有问题地完成了。
现在,你闪闪发亮的输出文件已经保存在原来的目录中了。在我这里,这个 tor.mkv 就是转换后的输出文件。


用Deepseek满血版问问看
回复
使用道具 举报
weifu074 | 未知
MKVExtractGUI也可以。
回复
使用道具 举报
upent | 未知
对,确实是这样。转码的过程十分快,性能瓶颈在于磁盘I/O,等于你将文件复制一份。

具体的过程,使用FFmpeg的static版本就行。附链接:Get FFmpeg 选择合适你的平台下载即可。

然后使用命令:   ffmpeg -i input.mkv -vcodec copy -acodec copy out.mp4
注:input.mkv就是你要转的文件。    out.mp4是输出文件 你可选择任意名称
      更多的转码命令 诸如设定  音频视频属性  可以参考官网或者互联网的上的信息。
      很容易找的。
回复
使用道具 举报
kamukorea | 未知
把mkv里面的视频音频提取出来再整合成mp4就可以。
0_0其实也可以直接封装
我用小丸工具箱别打我
回复
使用道具 举报
RakxwUSa | 未知
可以使用mkvtomp4,软件形式,界面操作。
原理同ffmpeg。
速度大概是0.2G/min。
回复
使用道具 举报
windfeel1 | 未知
重新封装,MeGUI的Muxer里面有MP4封装工具,其实就是调用的MP4Box命令行,但是比直接用MP4Box好用。
回复
使用道具 举报
快速回复
您需要登录后才可以回帖 登录 | 立即注册

当贝投影