我有3个版本的视频。
问题:
如果主要质量不起作用或无法启动,我需要显示可用的视频质量。怎么可能这样做?
version :high_mp4 do
process encode_video: [:mp4, encode_params("720x720", HIGH_PARAMS).merge(version: Video::HIGH_VERSION) ]
def full_filename(for_file=file)
super.chomp(File.extname(super)) + '.mp4'
end
end
version :medium_mp4 do
process encode_video: [:mp4, encode_params("480x480", MEDIUM_PARAMS).merge(version: Video::MEDIUM_VERSION)]
def full_filename(for_file=file)
super.chomp(File.extname(super)) + '.mp4'
end
end
version :low_mp4 do
process encode_video: [:mp4, encode_params("320x320", LOW_PARAMS).merge(version: Video::LOW_VERSION)]
def full_filename(for_file=file)
super.chomp(File.extname(super)) + '.mp4'
end
end
的观点:
= video.file.medium_mp4.url
答案 0 :(得分:0)
我不确定中等质量的视频,但我知道像SublimeVideo这样的视频包装器具有data-quality
属性,可以允许在两个不同版本之间切换。
如果您有自己的包装器,可以使用类似的东西来测试带宽,然后触发相应的源。
http://docs.sublimevideo.net/hd-switching
<video class="sublime" width="640" height="360" title="Midnight Sun" preload="none">
<source src="https://cdn.sublimevideo.net/vpa/ms_360p.mp4" />
<source src="https://cdn.sublimevideo.net/vpa/ms_720p.mp4" data-quality="hd" />
<source src="https://cdn.sublimevideo.net/vpa/ms_360p.webm" />
<source src="https://cdn.sublimevideo.net/vpa/ms_720p.webm" data-quality="hd" />
</video>
如果您担心视频不可用,那么当您包含这些视频时,您可以检查该文件是否存在。
<video class="sublime" width="640" height="360" title="Midnight Sun" preload="none">
<% if File.exist?(@video.file(:low_mp4)) %>
<source src="https://cdn.sublimevideo.net/vpa/ms_360p.mp4" />
<% end %>
<% if File.exist?(@video.file(:high_mp4)) %>
<source src="https://cdn.sublimevideo.net/vpa/ms_720p.mp4" data-quality="hd" />
<% end %>
<source src="https://cdn.sublimevideo.net/vpa/ms_360p.webm" />
<source src="https://cdn.sublimevideo.net/vpa/ms_720p.webm" data-quality="hd" />
</video>