gpt4 book ai didi

video - 上传的视频不在移动浏览器中播放,而是在桌面浏览器中播放

转载 作者:行者123 更新时间:2023-11-28 21:42:20 25 4
gpt4 key购买 nike

我已经设置了一个服务器(gunicorn 和 nginx)来使用 Python/Django 上传视频,并在浏览器中观看它们。我使用的视频播放器是videojs。所有视频都是 h.264 mp4。视频大小在 5-40 MB 之间。

视频上传正常,我也可以在台式机和笔记本电脑浏览器上观看上传的视频。

问题是我无法在移动设备上观看相同的视频(在桌面浏览器上播放)。

我收到这个错误:

This video could not be loaded, either because the server or network failed or because the format is not supported.

怎么了?

更新

不过,我在移动设备中使用 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

更新

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

更新

以下是我在此过程中收集到的一些要点:

  1. 我从 YouTube 下载并在未编码的情况下上传到服务器的一些视频在所有浏览器上都能很好地播放。
  2. 但是,如果我对同一视频(YouTube 视频)进行编码并将其上传到服务器,则它无法在移动设备上播放,只能在桌面浏览器上播放。
  3. 我从手机(三星 s4 和 iPhone 6)拍摄并使用 ffmpeg 编码的视频不能在移动浏览器上播放,只能在桌面浏览器上播放。
  4. 但是,托管在 Amazon s3 上的相同视频(我从移动设备上获取)的 URL 在所有浏览器上都能很好地播放(即使是未编码的视频)。

最佳答案

什么官方文档tells :

流媒体和 AAC 播放器兼容性

By default when encoding AAC files using libfdk_aac the metadata ('moov' atom) is written after the audio stream ('mdat' atom) at the end of the file. In order to enable streaming of the encoded file the 'moov' atom has to be moved before the 'mdat' atom. In addition some AAC player implementations have issues decoding such files.

FFmpeg 提供选项 '-movflags +faststart' 涵盖可在编码期间使用的功能:

ffmpeg -i input.wav -c:a libfdk_aac -movflags +faststart output.m4a

现有的 m4a 文件可以使用“工具”目录中与 FFmpeg 一起分发的“qt-faststart”程序进行修改

qt-faststart input.m4a output.m4a

所以你可以试试这个:

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 -movflags +faststart output.mp4

关于video - 上传的视频不在移动浏览器中播放,而是在桌面浏览器中播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31568472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com