我通常会下载并观看德国之声的视频来学习德语。最近我经常通勤,在火车上用手机观看视频会很不错。
我曾尝试将视频复制粘贴到手机上,但无法读取。
我曾尝试用 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 3
VBR 的比特率设置。此处,值的范围是 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_aacenc
ffmpeg 中所有 AAC 编码器的质量最差。请使用内置编码器aac
,或者如果可以,libfdk_aac
或者libfaac
。请参阅AAC 编码指南。