为手机转换视频

为手机转换视频

我通常会下载并观看德国之声的视频来学习德语。最近我经常通勤,在火车上用手机观看视频会很不错。

我曾尝试将视频复制粘贴到手机上,但无法读取。

我曾尝试用 ffmpeg 进行转换,但也无法读取。

在一个小型 cygwin bash 脚本中使用的命令是:

ffmpeg -y -i video.mp4 -r 14.65 -s 320x240 -b 389k -acodec libvo_aacenc -ac 1 -ar 8000 -ab 12k video.3gp

原始下载的视频的特点是:

元数据:

major_brand     : mp42
minor_version   : 0
compatible_brands: isom
creation_time   : 2014-02-10 03:54:28

时长:00:01:59.16,开始:0.000000,比特率:695 kb/s

Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 598 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc
Metadata:
  creation_time   : 2014-02-10 03:54:28
  handler_name    : MP4 Video Media Handler
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, s16, 93 kb/s
Metadata:
  creation_time   : 2014-02-10 03:54:28
  handler_name    : MP4 Sound Media Handler

手机拍摄的视频特点是:

元数据:

major_brand     : isom
minor_version   : 512
compatible_brands: skm23gp5

时长:00:00:27.31,开始:0.000000,比特率:405 kb/s

Stream #0:0(und): Audio: amr_nb (samr / 0x726D6173), 8000 Hz, 1 channels, flt, 12 kb/s
Metadata:
  handler_name    : soun
Stream #0:1(und): Video: mpeg4 (Simple Profile) (mp4v / 0x7634706D), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 389 kb/s, 14.65 fps, 15 tbr, 1k tbn, 15 tbc
Metadata:
  handler_name    : vide

转换下载的视频的正确方法是什么?

非常感谢。

答案1

由于不了解手机及其平台,因此我在此进行一些猜测,但 ffmpeg 的 3GP 视频通常包含 H.264 视频。您的手机录制的是 MPEG-4 Part II 视频,它(或多或少)是 H.264 的前身,因此“更简单”。

许多旧手机无法播放 H.264 或只能播放其部分子集。鉴于原始视频使用 H.264 基线,而您的手机无法播放,我猜您无法在手机上观看 H.264。

尝试在 AVI 容器中使用 MPEG-4 和 MP3 音频 - 这是旧机器上或 H.264 普及之前视频的首选组合:

ffmpeg -y -i video.mp4 -c:v mpeg4 -b:v 600k -c:a libmp3lame output.avi

您还可以使用-qscale:v 3VBR 的比特率设置。此处,值的范围是 1-31,值越低越好。请参阅Xvid/DivX 编码指南


如果您的手机支持具有基线配置文件的 H.264(适用于移动目标或计算能力较低的平台):

ffmpeg -y -i video.mp4 -c:v libx264 -crf 23 -profile:v baseline \
-c:a aac -strict experimental output.mp4

改变质量设置 CRF 参数介于 18 至 28 之间,越低越好。

关于原始命令的注释:

  • -b-b:v不明确 – 使用和指定视频或音频比特率-b:a
  • libvo_aacencffmpeg 中所有 AAC 编码器的质量最差。请使用内置编码器aac,或者如果可以,libfdk_aac或者libfaac。请参阅AAC 编码指南

相关内容