转换 mkv/h264 视频以便可以在“中档”索尼爱立信手机上播放。(使用 Ubuntu)

转换 mkv/h264 视频以便可以在“中档”索尼爱立信手机上播放。(使用 Ubuntu)

作为一个小实验,我想将一些视频/电影/电视剧转换成可以在我的 K850 上播放的格式,但为了在这个问题上更通用一点,我们假设是“中档索尼爱立信”手机,因为它们或多或少都表现相同并具有相同的屏幕分辨率(240 x 320)。

我正在寻找基于命令行的工具(用于 Ubuntu),因为我正在考虑如果成功的话稍后编写一个“转换和移动”脚本。

我拥有的很多视频都是用 mkv/h264 编码的,但由于手机不支持,所以我猜我需要将其转换为一些 mp4/mpeg4 低质量视频。

经过一番谷歌搜索后,似乎适合这份工作的候选人是ffmpeg,但这似乎是一个非常多功能的工具,具有很多神奇的技巧。

我走对路了吗?如果是的话,我该如何使用 ffmpeg 来做到这一点?

谢谢 Johan


更新:在使用 ffmeg 进行一些测试后,我发现它只使用了 4 个内核中的 1 个,因此转码需要很长时间。我找到了一个名为 -threads 的参数,但它并没有发生太大变化,也许我搞错了。

我也发现手机里播放着类似这样的内容。

ffmpeg -i Mythbusters\ S1D1_1.mkv -threads 4 -t 180 -vcodec mpeg4 -r 15 -s 320x240 Mythbusters\ S1D1_1_mini.mp4

可以使用 3gp/h263,但是质量实在没用。

ffmpeg -i Mythbusters\ S1D1_1.mkv -t 180 -vcodec h263 -acodec libfaac -s cif  Mythbusters\ S1D1_1_cif.3gp

看起来 mp4/h264 也是可行的,而且结果也不错,这要归功于这个问题,这个似乎也使用了多个核心,所以对我来说速度稍微快一点。

ffmpeg -i Mythbusters_S1D1_1.mkv -t 180 -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -me_method umh -subq 6 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 500k -maxrate 768k -bufsize 2M -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -threads 0 -f mp4 Mythbusters_S1D1_1_qvga.mp4

更新:我曾尝试使用 HandBrakeCLI,使用类似这样的方法创建一个与使用 ffmpeg 创建的文件相同的新文件没有任何问题。

HandBrakeCLI -i Mythbusters_S1D1_1.mkv --size 100 -E faac -B 60 --maxHeight 240 -r 15 -e x264 -o Mythbusters_S1D1_1_hand.mp4

但那一个没有在手机上播放......


我在官方手册里找到了这个:

如果您使用 Media Go™ 以外的其他程序传输视频片段,我们建议您选择 H.264 Baseline 配置文件视频,最高可达 QVGA 30 fps、VBR 384 kbps(最高 768 kps)以及 AAC+ 音频 128 kbps(最高 255 kbps)、48 kHz 和 mp4 文件格式的立体声音频。

所以使用H264的想法似乎是正确的。

答案1

为什么不尝试手刹? 它适用于 Linux、Mac Os 和 Windows,如果您需要,它还提供命令行界面。

这里'Handbrake CLI 指南。

答案2

我无法找到比这个 ffmpeg 示例更好的例子:

ffmpeg -i 星球大战.mkv -acodec libfaac -ab 60k -s 320x240 -vcodec libx264 -b 500k -flags + loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -flags2 +mixed_refs -m e_method umh -subq 6 -trellis 1 -refs 5 -coder 0 -me_range 16 -g 250 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 500k -maxrate 768k -bufsize 2M -qcomp 0 .6 -qmin 10 -qmax 51 -qdiff 4 -level 13 -threads 0 -f mp4 星球大战.mp4

这会将 50 分钟的电视剧 (4:3) 转换为 70Mb 的文件(之前为 700Mb)

将一部 2 小时的电影 (16:9) 压缩成 470Mb 文件 (之前是 1700Mb)

相关内容