Видео MP4 в Flowplayer не воспроизводятся в Windows 7 Chrome

Я использовал лицензионную версию FlowPlayer 5.3.2 для воспроизведения закодированного видео в формате mp4. Почти во всех браузерах он воспроизводится без каких-либо сбоев, но он не воспроизводится в последней версии Chrome 28.0.1500.95m (на сегодняшний день 13-08-2013) в Windows 7. Я загружаю плеер на страницу по кнопке. щелкните с помощью AJAX. Это происходит только в Chrome для Windows. Я запускаю следующую функцию нажатием кнопки, всплываю световой короб и загружаю проигрыватель, используя 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-адрес видео в приведенном выше коде вставляется в адресную строку Chrome, он также не воспроизводится. Но он работает в других браузерах на других платформах.

Это проблема с последней версией Chrome или видео?


person TechyTee    schedule 13.08.2013    source источник


Ответы (1)


Я бы посмотрел, как кодируется ваше видео MP4, поскольку несколько форматов видео и аудио можно обернуть в контейнер .mp4.

Есть хороший пост от Mozilla на странице Медиа-форматы, поддерживаемые HTML It состояния

Формат контейнера MP4 с видеокодеком H.264 и аудиокодеком AAC или аудиокодеком MP3 изначально поддерживается Internet Explorer, Safari и Chrome, но Chromium и Opera не поддерживают этот формат.

Также в этом SO-ответе говорится:

Chrome может воспроизводить .mp4 с видео H-264, но не видео MPEG-4 Visual.

Если вы хотите охватить все браузеры, вам действительно нужны два формата: MP4 и WebM.

person Colin Bacon    schedule 16.08.2013
comment
@ Колин Бэкон Ваше последнее предложение неверно! Согласно Википедии, формат MP4любым кодеком, включая H-264) невозможно воспроизвести в Opera, а WebM не поддерживается на Mac (совсем не на iOS и частично на MacOS). Плюс (предыдущее предложение) видео MP4, закодированное с помощью MPEG-4 Part 2 (предшественник более нового MPEG-4 Part 10 H-264 не соответствует спецификации HTML 5, поэтому не только Chrome, но и ни один из браузеров не поддерживает его. - person trejder; 26.09.2013
comment
@TechyTee Из-за первого сообщения об ошибке (Видео неправильно закодировано) я в целом согласен с Колином, что есть некоторые проблемы с кодеком, используемым для кодирования ваших файлов. Во-первых, вам следует подумать о том, чтобы получить несколько образцов видео, которые на 100% наверняка будут воспроизводиться без проблем в любом браузере (YouTube, сам сайт Flowplayer, поиск в Google некоторых демонстрационных видеофайлов HTML 5 и т. Д.), Включая Chrome. Если у вас есть образцы, пропустите их через свой код, чтобы проверить, воспроизводит ли их Flowplayer. Тогда вы узнаете, связана ли проблема с Chrome или Flowplayer. - person trejder; 26.09.2013
comment
@trejder Если вы посмотрите ссылку на Википедию, которую вы предоставили, она показывает, что Opera не поддерживает MP4, но поддерживает WebM. Вот почему я сказал, что вам нужны два формата, чтобы охватить все браузеры, поэтому, если один не поддерживается, другой поддерживается. - person Colin Bacon; 26.09.2013
comment
@ColinBacon Извините, но почему-то мое восприятие остановилось на MP4 части, поставил там точку (конечное предложение) и полностью проигнорировал WebM часть. Действительно странные, но странные вещи случаются! :] Конечно, ты прав. Наличие двух форматов удваивает пространство, занимаемое вашим видеоконтентом на сервере, но покрывает все современные браузеры и устройства. - person trejder; 30.09.2013