我尝试将带有ffmpeg的视频转换为mp4格式(h264)配置文件:高级:3.1(1280x720,30fps),比特率1500k
除了在Firefox中,视频在每个浏览器中都能很好地播放。
http://5.79.72.89/trailer/trailer.mp4
首先需要更长时间才能加载,当我在视频内部搜索时,视频不会停止加载,也不会再次播放。 我可以在开发者控制台中看到很多部分下载。其中很多都用于初始播放,其余请求是在视频加载期间,当我寻找稍后的位置。
当我播放其他h264视频(具有类似设置的MP4)时,它们在此服务器上播放没有问题。 当我将视频放在另一个网络服务器(apache)上时,Firefox也存在同样的问题。
出于这个原因,我相信它必须与我做一些转换。
我的设置: Debian 7(wheezy) Web服务器:nginx(带宽限制为260k)
由于这个问题,我开始使用avconv转换视频并切换到ffmpeg。但没有成功。 同时我尝试了所有编码选项,但Firefox总是存在同样的问题。其他视频播放效果不错但不是地雷,我不知道为什么。
命令:
ffmpeg -i input.mp4 -tune zerolatency -x264opts bitrate=1500:vbv-maxrate=1500:vbv-bufsize=3000:nal-hrd=vbr -codec:v libx264 -profile:v high -level 3.1 -movflags +faststart -pix_fmt yuv420p -s 1280x720 -r 30 -ac 2 -ar 48000 -codec:a aac -ab 64k -strict experimental -y trailer.mp4
ffmpeg 1.0.10 libavutil 51. 73.101 / 51. 73.101 libavcodec 54. 59.100 / 54. 59.100 libavformat 54. 29.104 / 54. 29.104 libavdevice 54. 2.101 / 54. 2.101 libavfilter 3. 17.100 / 3. 17.100 libswscale 2. 1.101 / 2. 1.101 libswresample 0. 15.100 / 0. 15.100 libpostproc 52. 0.100 / 52. 0.100
文件的Mediainfo:trailer.mp4
General Complete name : trailer.mp4 Format : MPEG-4 Format profile : Base Media Codec ID : isom File size : 115 MiB Duration : 10mn 34s Overall bit rate : 1 516 Kbps Movie name : Big Buck Bunny, Sunflower version Performer : Blender Foundation 2008, Janus Bager Kristensen 2013 Composer : Sacha Goedegebure Genre : Animation Writing application : Lavf54.29.104 Comment : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : High@L3.1 Format settings, CABAC : Yes Format settings, ReFrames : 4 frames Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 10mn 34s Bit rate : 1 500 Kbps Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 30.000 fps Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.024 Stream size : 109 MiB (95%) Writing library : x264 core 132 Encoding settings : cabac=1 / ref=4 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=50 / keyint_min=5 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=cbr / mbtree=1 / bitrate=1500 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=1500 / vbv_bufsize=3000 / nal_hrd=none / ip_ratio=1.40 / aq=1:1.00 Audio ID : 2 Format : AAC Format/Info : Advanced Audio Codec Format profile : LC Codec ID : 40 Duration : 10mn 34s Duration_LastFrame : -11ms Bit rate mode : Constant Bit rate : 64.2 Kbps Channel(s) : 2 channels Channel positions : Front: L R Sampling rate : 48.0 KHz Compression mode : Lossy Delay relative to video : -2ms Stream size : 4.85 MiB (4%)
我不知道我的档案有什么问题。
更新2015-03-12:
如果我转换没有音频流的视频,那么firefox就没有问题了。
我将ffmpeg更新为2.6。我使用libfaac,aac和libfdk_aac进行cbr和vbr的音频编码,但没有成功。
答案 0 :(得分:1)
设置上没有任何特殊之处,可能是输出mp4容器。
尝试对输出mp4文件进行解复用,然后尝试使用mp4box或类似的mp4 muxer对其进行复用。不要忘记flatten / faststart选项。看看会发生什么。
答案 1 :(得分:1)
事实证明这是Firefox中的一个未知错误。你的视频在Firefox Nightly中播放得很好。