MP4 не воспроизводится в Chrome версии 27.0
Последняя версия Chrome (версия 27.0.1453.110 м) по состоянию на 5 июня 2013 года не воспроизводит видеоролики mp4. Для примера W3Schools Video Sandbox дает мне видеоконтроль и ничего больше. (Извините, не могу опубликовать снимок экрана, только что подписавшись на StackO.)
Кто-нибудь знает, почему? и исправление?
Да:
Существует ответ вопрос, подобный этому
chrome может воспроизводить видео html5 mp4, но html5test сказал, что хром не поддерживает видеокодек mp4
и
Существует вопрос без ответа:
проблема с html5 с хром
Ответы
Ответ 1
После столкновения с той же проблемой - вот некоторые из моих мыслей:
- из-за поддержки Chrome для h264 на некоторых компьютерах, закодированные с ним видео mp4 либо не работают (бросая ошибку Parser при просмотре на вкладке Firebug/Network - в соответствии с предоставленной проблемой здесь) или сбой браузера, в зависимости от настроек кодировки
- он несовместим - он полностью зависит от кодеков, установленных на компьютере, - хотя я не сталкивался с этой проблемой на своей машине, у нас был один в офисе, где возникла проблема (и таким образом мы использовали этот для тестирования)
- это может быть связано с настройками Quicktime/DivX (у машины, у которой была старая версия Quicktime, чем у моей родной, мы не хотели потерять наш тестовый ПК, поэтому мы не обновили его).
Поскольку он влияет только на Chrome (другие браузеры отлично работают с VideoForEverybody), я использовал следующее:
К сожалению, это плохой хром-хак, но эй, по крайней мере, он работает.
Ответ 2
У меня была такая же проблема. Несмотря на то, что я не получил никакого ответа, я попытался решить ее по-другому, вот что я сделал:
Сначала вставьте видео в свой html:
<video id="videoId" width="100%" autoplay loop>
<source src="main.webm" type="video/webm">
<source src="main.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
Затем определите, является ли браузер хромовым:
var isChrome = !!window.chrome;
var isIE = /*@[email protected]*/false;
Если его хром, замените видео на версию webm.
(Для тех, кто не сталкивался с проблемой самостоятельно:
если вы вставляете как mp4, так и webm, хром не будет играть ни с одним из них, поэтому вам нужно только вставлять "webm"
if( isChrome ) {
$("#videoId").replaceWith($('<video id="videoId" width="100%" autoplay loop><source src="video.webm" type="video/webm"></video>'));
}
И что касается IE:
В моем случае я заменил видео html5 изображением:
if( isIE ) {
$("#videoId").replaceWith($('<img id="videoId" src="img/video.jpg" />'));
}
Ответ 3
Кажется, Chrome загружает первое объявленное видео. Итак, для Chrome, играющего в webMV, сначала объявите видео webMV, затем mp4 и т.д.
Ответ 4
Ответ в предыдущем посте, хотя трудно найти:
chrome может воспроизводить видео html5 mp4, но html5test сказал, что хром не поддерживает видеокодек mp4
Это связано с постепенным прекращением поддержки mp4 в Chrome в пользу открытого формата webm. В настоящее время поддержка браузера кажется ложной. См. Сообщение для подробных сведений.
Форум Cromium предоставляет дополнительную информацию о поддержке кодека.
Надеюсь, что это поможет.
Ответ 5
У меня есть эта проблема и в версии Chrome: 28.0.1500.72 на Windows7 64bit.
Хотя это не влияет на ту же версию Chrome на WinXP.
Из того, что я прочитал, эта проблема очень спорадична на разных хостах в зависимости от ряда переменных. Однако, благодаря некоторому быстрому jquery, я смог решить эту проблему для моих потенциальных пользователей Chrome.
Спасибо Sony Flat за то, что указали мне в этом направлении
var isChrome = !!window.chrome;
var isIE = /*@[email protected]*/false;
if( isChrome ) {
$("#videoId").replaceWith($('<video id="videoId" width="100%" autoplay loop><source src="video.webm" type="video/webm"></video>'));
}
Ответ 6
Спасибо, eithedog.
Этот код работает для меня, чтобы воспроизводить видео в Chrome с помощью тега "Видео"
if (window.chrome) {
$("[type=video\\\/mp4]").each(function () {
$(this).attr('src', $(this).attr('src').replace(".mp4", "_c.mp4"));
});
}