web-dev-qa-db-ja.com

ffmpeg-whatsapp:サポートされていないビデオ形式

2つのビデオ(.mp4)ファイルがあります。 1つはwhatsappにアップロードし、もう1つはアップロードしません。

Ffmpegを使用して、それらのプロパティを確認しました。

a)アップロードするビデオのプロパティ:

  Duration: 00:00:56.45, start: 0.148000, bitrate: 1404 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1080x1080, 1359 kb/s, 23.98 fps, 23.98 tbr, 90k tbn, 47.95 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (HE-AACv2) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 47 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
At least one output file must be specified

b)whatsappにアップロードしないビデオ(saysフォーマットがサポートされていないため)

  Duration: 00:00:56.10, start: 0.000000, bitrate: 543 kb/s
    Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p, 1080x1080 [SAR 1:1 DAR 1:1], 464 kb/s, 23.98 fps, 23.98 tbr, 23.98 tbn, 47.95 tbc
    Stream #0:1: Audio: aac (LC) ([255][0][0][0] / 0x00FF), 48000 Hz, stereo, fltp, 56 kb/s

私が気づいたビデオの違い:

(avc1 / 0x31637661)(H264 / 0x34363248)

1359 kb/s464 kb/s

90k tbn23.98 tbn

その理由は何ですか?

また、2番目のビデオはAndroidで再生されていません。

ビデオのリンクは https://drive.google.com/open?id=0B4UM6vTHw4pyMExQQ1lxZGp0N2c です。

16
Santhosh Yedidi

互換性を高めるためのオプションがいくつかあります。

ffmpeg -i broken.mp4 -c:v libx264 -profile:v baseline -level 3.0 -pix_fmt yuv420p working.mp4

-profile:v baseline -level 3.0 WhatsAppを含むほとんどの古いプレーヤーとファイルの互換性を高めます;)。ただし、これにより一部の高度な機能が無効になります。

-pix_fmt yuv420pはベースラインにコンパイルする必要があります(4:2:0クロマサブサンプリングのYUV平面カラースペース)。

また、ビットレート、フレームレート、オーディオなどの他のオプションを調整できます。

出典: H.264 docs

37
Mario Mey

https://www.reddit.com/r/ffmpeg/comments/564kyc/ffmpeg_whatsapp_video_format_not_supported/?st=ivjxdi0v&sh=848ce7eb からコピー

ffmpeg -i brokenvideo.mp4 -c:v libx264 -c:a aac fixedvideo.mp4

また、この修正を適用する必要がありました: FFMPEG(libx264) "2で割り切れない高さ"

6
brauliobo