Piszę wpis na blogu, który wykorzystuje wiele filmów z YouTube i Yahoo Video, ale nie jestem zadowolony z czasu, jaki zajmuje renderowanie strony. Oprócz zastosowania metody ajax-y do ładowania filmów, czy są jakieś sztuczki, które spowodowałyby szybsze wczytywanie strony w przypadku wielu filmów z różnych źródeł?Czy istnieje sposób na szybsze ładowanie osadzonych filmów z YouTube w mojej witrynie?
Odpowiedz
Twoja "metoda ajax-y" to jedyny sposób, aby to przyspieszyć. Duże witryny będą korzystać z CDN i mają dobre buforowanie. Nie ma sposobu, aby duże pliki zabierały dużo czasu ...
Utrzymanie obiektu lub tagu wideo poza kodem HTML, a następnie dodanie go po wczytaniu strony, poprawi postrzeganą wydajność ładowania strony. Być może zamienić obraz ekranowy, który ma taki sam rozmiar jak ewentualne wideo ...
Wcześnie za tag wideo, ale możliwe, że w końcu czas inicjalizacji będzie szybszy niż Flash, ponieważ jest częścią przeglądarki a nie wtyczką 3rd party.
Większość czasu ładowania wideo zależy od sposobu zakodowania/przesłania filmu, który jest poza kontrolą użytkownika.
Nie ma wątpliwości, że pobieranie wielu filmów z różnych stron internetowych wymaga czasu. Czy próbowałeś uzyskać kopię tych filmów, przesłać je na swój serwer sieciowy i osadzać w ten sposób swoje filmy? Może to zwiększyć szybkość wyświetlania twoich stron, jeśli filmy pochodzą z jednego źródła.
Problem z osadzonymi filmami z YouTube polega na tym, że sam odtwarzacz musi się wczytać. Możesz dodać "controls = 2" w adresie URL kodu do osadzania, ale to spowoduje, że tylko gracze AS2/3 będą ładować odtwarzacz po kliknięciu.
W przypadku tego problemu obejście tego problemu nie polega na załadowaniu odtwarzacza. Zamiast tego ładuje miniaturę z nałożonym przyciskiem odtwarzania. Po kliknięciu obraz zostaje zastąpiony rzeczywistym kodem osadzania iframe w odtwarzaczu YouTube i ładuje się i automatycznie odtwarza.
Można to zrobić na dowolnej stronie, używając prostego kodu javascript poniżej. https://skipser.googlecode.com/files/gplus-youtubeembed.js
Wydaje się, że do tej pory działa to naprawdę dobrze. Dzięki! – tom
Dzięki za pracę nad tym. Próbuję twojej poprawki pod adresem: https://www.acls.net/videos.htm bezskutecznie. –
Rozwiązanie Google Plus to jedyny sposób na zwiększenie wydajności: wczytaj kod obrazka, a następnie załaduj pełny odtwarzacz, gdy użytkownik kliknie.
Opierając się na rozwiązanie z @boscharun tutaj jest rozwiązanie używam:
<style>
div.video-container a img.playbutton {visibility: hidden;
content:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAE0AAABNCAQAAABJACE7AAAEvklEQVR4AdyYX0hbVxzHv5CH4kMZVUighTLxKXmMCBGF/MKC26Qy5x6njMEsGCgU8zBQygaDsJVC2IOCoIPhAqtjbFxmXsJl4EPgPpSGhTDSQDPXEbUNRSpGZ/6cwSHk5MaYa8498WGf39sVrt/c8/vz/R38X+mDE4PwwAsfxuEHwY9x+OCFB4Nwog9XjgMuuDEKsoxRuOGCA1fCADwg8Jic2VwyNvKJYvq4cHZULbNatXx2dFwopvMJY2NzaXKmIdGDAfSUWxgB/1cri5mtN8+ZJW+eZ7ZWFuvyRnALPeEmfCDQwmwqVjpgXVE6SMUWZrk8H25CKTfgBYEioV2dSbOrR0Jcnhc3oIgh8K+VTzDb5BP1rzcE21zHMAhkbLC2HD7Lanp0NRyaG5vqDzoC/cGxqdDcaliPZrXDZ6wtxgYXN4zrsIELftDyfDHNzvFiR4tMTIM6xcS0Fnmxw85RTC/P8x7ogiS3QaD4Q1ZrSeq95JpZlJXA5Fppj5mpxR/yv96GBIMgUCrGTJy81KMgmdCjJy+ZiVSM/2VQSlgu3voyZxAkG85g6w/NxbsXx48ynzAn/KN7ILvx6J65OPKJ7o7Vdf6L5bavBUAq4logt93my7ku1y78rTlmrINUhrF+Luf8l2klw7wqm5BMfIuiYE3wah2+ROdfnmc1eWFS4mq8zw11npUEKqZlj1L+WItp/qzDbPWaR1JuG9TLyG23jC/vxbaHFmab24X9qrSq1uZWwgf/BZbJZ+5lEn1Mos+19DhfewdLkZC5pC+KfeP+J4rEmdoU93NtnPAIaFcXs7LTSGKsWvnz1/c+VCHNGRSzdVfnNr2FAZFn1i2DccolY/3td9W2EZ5vAzDhaf60pb3OL2t2/T9/5bBdLKU9Uxp5zHslgcQyklyzliZ4neE5YiOSa+Kn8icO00BfWWQNrIwia6X29++ffSwvbWKaNVhZNA97NyizJaw1qCtpnEo5/Xjkjqw4YdMzWyC40WAUJBZeLSIhjfPvoR596x0ZaVpELNUgjIpLFZqcMR2npDT+6r+++9zekfLriD5wnKDNJTGeQHLSBK+ecifRVYiRtbkEgrOxB4ihntXkpQmqtVz8zkfdSMtqYtCLfcHTPDv1qH1pMi1Zj4pZKnqbt9mjrYZVSBN96revL+dfVsMm7+ZtOI7jAqsTmlMlTWTvt/et3xmaY3WOC8KBjIPOjlidsSnF0jj/7Fi15LEpVufsCIRxcPygapnV6Q/alybTkvuDjRIq8w2LQyCxqDgCvZFWrWU1+uDidzoCYuzxJ1f11V5nvrgLEmH91Xqfa3x8xb/hVSqRaz2rUO6Gf+EZJlGhvetr4oqP5PtaT6bBaVGLiJKSnQbKZ2i1kvlJHKP8DFXuPF49DX8Ksu88FPu106JYY+z7NWUut1L+40f3+yAVLlfpbnDwhG/0yncDmxtV6eDxlyD1G5XNPbRSTv0gjlH9Hiq9ve8bd2dB6rd3m3cepf3YA1Bv7zwkbooqp0++F75f/U2R9P1aIck965Xdr/3XrB0IAAAAMAzyt06jY3zFr2T95T4P+N8N/tryN6q67MU9tK7ITXv/xcLvPH4d85uiWmLlfq1Wf7mVfIVp4HIDzfwP/+fzW/C0yiYAAAAASUVORK5CYII=")
}
div.video-container a:hover .playbutton {visibility: visible;}
</style>
<div class="video-container">
<a style="position: relative; left: 0; top: 0;" href="https://www.youtube.com/watch?v=IJl2C8QPVjQ&rel=0">
<img src="//img.youtube.com/vi/IJl2C8QPVjQ/0.jpg" style="position: relative; top: 0; left: 0; width:100%; height:auto">
<img class="playbutton" style="position: absolute; top: 50%; left: 50%; margin-left:-38px; margin-top:-38px">
</a>
</div>
<script>
$('.video-container').click(
function(e){
e.preventDefault();
var imgURL = $(this).find("img").attr('src');
var rx = /\/vi\/([^\/]+)/
var arr = rx.exec(imgURL);
var url = "//www.youtube.com/embed/"+arr[1]+"?rel=0&autoplay=1";
$(this).find("img").hide();
$(this).append('<iframe width="100%" height="315" src="'+url+'" frameborder="0" allowfullscreen></iframe>');
}
);
</script>
Można go zobaczyć w akcji na żywo pod adresem: https://www.acls.net/videos.htm
Funkcje obejmują:
- pogarszają się IMG w razie potrzeby
- Semantic
- Responsive
- Używa jQuery
Można postępować zgodnie z instrukcjami z: https://varvy.com/pagespeed/defer-videos.html
tylko zamiast za pomocą kodu:
<iframe width="560" height="315" src="" data-src="//www.youtube.com/embed/OMOVFvcNfvE" frameborder="0" allowfullscreen></iframe>
chciałbym zmienić przez:
<iframe width="560" height="315" data-src="//www.youtube.com/embed/OMOVFvcNfvE" frameborder="0" allowfullscreen></iframe>
Ponieważ, src = "" może być interpretowane jako src = "/" w niektórych przeglądarkach, które załadują kopię Twojej witryny do elementu iframe ...
- 1. Ładowanie wielu filmów z YouTube iFrame API
- 2. Przeglądarka internetowa na Androida nie może renderować filmów osadzonych w youtube za pomocą iframe
- 3. Implikacje dotyczące przepustowości Dane z osadzania filmów z YouTube na mojej stronie internetowej
- 4. Uzyskuj wiele osadzonych filmów z YouTube, aby odtwarzać automatycznie w kolejności
- 5. Odtwarzanie filmów z youtube na iOS
- 6. Jak mogę utworzyć transmisję na żywo z filmów z youtube?
- 7. Programowanie programowo komentarzy do filmów z YouTube
- 8. Android - WebView nie odtwarza filmów z YouTube
- 9. Czy istnieje sposób na leniwe ładowanie plików CSS w Angular?
- 10. NoLinkedYoutubeAccount błąd 401 podczas przesyłania filmów na Youtube z java
- 11. Próbowanie automatycznego odtwarzania filmów z YouTube w aplikacji PhoneGap/Cordova
- 12. Czy istnieje sposób ustawienia priorytetu ładowania obrazów w witrynie?
- 13. Czy mogę używać obrazów z wyników Google w mojej witrynie?
- 14. Pierwsza próba leniwego ładowania (opóźnianie ładowania osadzonych filmów w YouTube) - jak mogę to zrobić z większą wdziękiem?
- 15. Czy można wyszukiwać filmy z YouTube w języku ich napisów?
- 16. Czy interfejs API serwisu YouTube na Youtube obsługuje żyroskop podczas umieszczania filmów 360 °?
- 17. Czy istnieje format adresu URL serwisu YouTube do wyświetlania filmów w rozdzielczości 1080p?
- 18. Android youtube: udostępnij film z YouTube Do mojej aplikacji?
- 19. Jak zmusić youtube do odtwarzania filmów HD
- 20. Odtwarzacz YouTube API nie odtwarza niektórych filmów
- 21. YouTube API v3 - Lista przesłanych filmów
- 22. mogę przesłać film na YouTube z mojej własnej stronie
- 23. Jak wysłać tweet do Twittera z jquery w mojej witrynie
- 24. Szybsze wyszukiwanie w Lucene - Czy istnieje sposób na zachowanie całego indeksu w pamięci RAM?
- 25. Jak uzyskać adres URL mp4 do filmów z YouTube za pomocą interfejsu API YouTube 3 API
- 26. Usuń css style pochodzące z osadzone filmów YouTube
- 27. Czy istnieje sposób, w jaki mogę uruchomić projekt ASP.NET MVC na witrynie hostowanej przez godaddy.com?
- 28. Czy istnieje sposób na uzyskanie XML dla produktów Amazon?
- 29. Blokowanie rozszerzeń Chrome przed uruchomieniem w mojej witrynie
- 30. Jak przesyłać strumieniowo tylko dane audio z wideo z YouTube na mojej aplikacji?
Dzięki za sugestię, chutsu. To dobra uwaga, ale niestety nie sądzę, że będzie możliwe uzyskanie kopii innych niż tylko osadzanie filmów. – VirtuosiMedia
Dlaczego nie? Możesz pobrać filmy flash za pomocą wtyczki firefox "FlashGot" (użyj dobrego starego google, aby uzyskać więcej informacji na temat pobierania filmów "flv"). I umieść wideo flv na swojej stronie. – chutsu
Nie sądzę, aby umieszczenie wszystkich mediów na tym samym serwerze przyspieszyło. Większość dużych witryn umieszcza obrazy i inne statyczne treści w innym hoście, aby zwiększyć szybkość. Głównym powodem jest to, że przeglądarki mają maksymalną liczbę równoczesnych połączeń z jednym hostem. A jeśli serwer YouTube może być szybszy niż twój serwer. –