Я установил сервер (gunicorn и nginx) для загрузки видео с использованием Python/Django и просмотра их в браузере. Видеопроигрыватель, который я использую, - videojs. Все видеоролики - h.264 mp4. Размер видео составляет 5-40 МБ.Загруженные видео не воспроизводятся в мобильном браузере, но воспроизводятся на рабочем столе broswer
Видеозагрузка прекрасна, и я могу просматривать загруженное видео на рабочем столе и в браузере для ноутбука.
Проблема в том, что я не могу смотреть те же видео (которые воспроизводятся в браузере рабочего стола) на мобильных устройствах.
Я получаю эту ошибку:
This video could not be loaded, either because the server or network failed or because the format is not supported.
Что не так?
Update
Однако я проверил мобильные браузеры с поддержкой WebM видео в мобильном и Opera и Chrome воспроизводит видео отлично. Это команда, которую я использовал для WebM:
ffmpeg -i test2.mov -codec:v libvpx -quality good -cpu-used 0 -b:v 600k -maxrate 600k -bufsize 1200k -qmin 10 -qmax 42 -vf scale=-1:480 -threads 4 -codec:a vorbis -b:a 128k -strict -2 test2_webmmm.webm
И это для h.264 mp4 (только рабочий Firefox):
ffmpeg -i inputfile.avi -codec:v libx264 -profile:v baseline -preset slow -b:v 250k -maxrate 250k -bufsize 500k -vf scale=-1:360 -threads 0 -codec:a libfdk_aac -b:a 96k output.mp4
Update
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'faststart.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf56.40.100
Duration: 00:03:36.56, start: 0.046440, bitrate: 350 kb/s
Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1/0x31637661), yu
v420p, 640x360 [SAR 1:1 DAR 16:9], 249 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.9
5 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(und): Audio: aac (LC) (mp4a/0x6134706D), 44100 Hz, stereo, flt
p, 96 kb/s (default)
Metadata:
handler_name : SoundHandler
Update
Вот некоторые примеры которые я собрал по пути:
- Некоторые из видеороликов, которые я загрузил с YouTube и загрузил их на сервер без кодирования, хорошо воспроизводятся во всех браузерах.
- Однако, если я кодирую одно и то же видео (видео YouTube) и загружаю его на сервер, он не воспроизводится на мобильных устройствах, а только на настольных браузерах.
- Видео, которые я взял с мобильного (Samsung s4 и iPhone 6), и закодировать его с помощью ffmpeg, не воспроизводятся в мобильных браузерах, только на настольных браузерах.
- Но URL-адрес того же видео (который я взял с мобильного), который размещен на Amazon s3, хорошо играет во всех браузерах (даже без кодированных видео).
H.264 базовый + AAC? – Anatoly
@Anatoly Да. Я использовал эту команду 'ffmpeg -i inputfile.avi -codec: v libx264 -profile: v baseline -preset slow -b: v 250k -maxrate 250k -bufsize 500k -vf scale = -1: 360-threads 0 -codec: a libfdk_aac -b: a 96k output.mp4'. Хотя, есть одна вещь, видео прекрасно воспроизводятся в браузере Firefox, но не на сафари android и ios. – Robin
Можете ли вы предоставить ссылку на одно из видео? – Mick