【问题标题】:MP4 videos in Flowplayer does not play in Windows 7 ChromeFlowplayer 中的 MP4 视频无法在 Windows 7 Chrome 中播放
【发布时间】:2014-03-21 21:48:20
【问题描述】:

我已使用 FlowPlayer 5.3.2 的许可版本播放 mp4 格式的编码视频。在几乎所有浏览器中,它都可以正常播放,但不能在 Windows 7 上的最新版 Chrome 28.0.1500.95m(截至 2013 年 13 月 8 日)中播放。我正在通过按钮将播放器加载到页面单击使用 AJAX。这只发生在 Windows 版 Chrome 中。我在单击按钮时触发以下功能并弹出灯箱并在其中使用 AJAX 加载播放器。

function playVideo() {
    var url1 = 'http://example.com/dashboard/play_video';
    var url = 'http://s3.amazonaws.com/xxxxxxxxx/xxxxxx.mp4?413142680';
        $.ajax({
            url: url1,
            type: 'post',
            data: 'url=' + url,
            success: function(data) {
                var toolbox1 = $("#how_to_make_video").html();
                $("#video_preview2").html(data + toolbox1);
                $("#video_preview2").dialog({
                    width: 700,
                    height: 500,
                    close: function(event, ui) {
                        $(".flowplayer").stop();
                    }
                });

                if (url.indexOf("s3.amazonaws.com") !== -1) {
                    $(".flowplayer").flowplayer({splash: true,
                        rtmp: "rtmp://" + userStream + "/cfx/st",
                        swf: "/site/js/flowplayer/flowplayer.swf"
                    });
                } else {
                    $(".flowplayer").flowplayer({splash: true,
                         swf: "/site/js/flowplayer/flowplayer.swf"
                    });
                }
            }
        });
    }

这是用于在所有其他浏览器中播放的相同功能。但是当使用这个播放视频时,播放器首先显示错误“html5:视频未正确编码”,然后自动将其更改为“html5:找不到视频文件”。当上述代码中的视频 URL“url”粘贴到 Chrome 的地址栏中时,它也不会播放。但它在其他平台上的其他浏览器中播放。

最新版本的 Chrome 或视频有问题吗?

【问题讨论】:

    标签: javascript html html5-video flowplayer


    【解决方案1】:

    我会看看您的 MP4 视频是如何编码的,因为可以将多种格式的视频和音频包装在 .mp4 容器中。

    Mozilla 在Media formats supported by HTML 上发表了一篇很好的帖子

    Internet Explorer、Safari 和 Chrome 原生支持带有 H.264 视频编解码器和 AAC 音频编解码器或 MP3 音频编解码器的 MP4 容器格式,但 Chromium 和 Opera 不支持该格式。

    这也是SO answer 状态:

    Chrome 可以播放带有 H-264 视频的 .mp4,但不能播放 MPEG-4 Visual 视频。

    如果你想覆盖所有浏览器,你真的需要两种格式,MP4WebM

    【讨论】:

    • @Colin Bacon 你最后一句话不正确!根据WikipediaMP4 格式(使用 any 编解码器,包括H-264)无法在 Opera 中播放,WebM 在 Mac 上不支持(iOS 和部分在 MacOS 上)。另外(上一句),用MPEG-4 Part 2 编码的MP4 视频(较新的MPEG-4 Part 10 H-264 的前身不符合HTML 5 规范,因此不仅Chrome,而且没有任何浏览器支持它。
    • @TechyTee 由于第一条错误消息(“视频未正确编码”),我通常同意 Colin 的观点,即用于对文件进行编码的编解码器存在一些问题。首先,您应该考虑获取一些示例视频,这些视频可以 100% 确保在包括 Chrome 在内的任何浏览器(YouTube、Flowplayer 网站本身、Google 搜索一些演示 HTML 5 视频文件等)中都可以正常播放。如果您获得了一些示例,则将它们放入您的代码中以检查 Flowplayer 是否播放它们。然后你就会知道,如果问题出在 Chrome 或 Flowplayer 上。
    • @trejder 如果您查看您提供的 Wikipedia 链接,它表明 Opera 不支持 MP4,但支持 WebM。这就是为什么我说你需要两种格式来覆盖所有浏览器,所以如果一种不支持,另一种是。
    • @ColinBacon 抱歉,不知何故,我的感知停在了MP4 部分,在那里放了一个点(句末)并完全忽略了WebM 部分。真的很奇怪,但更奇怪的事情发生了! :] 当然,你是对的。拥有两种格式会使您的视频内容在服务器上占用的空间增加一倍,但确实涵盖了所有现代浏览器和设备。
    猜你喜欢
    • 2020-07-17
    • 1970-01-01
    • 2015-11-23
    • 2016-04-26
    • 1970-01-01
    • 2013-05-23
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多