it-swarm.com.de

YouTube hat die #t-Startzeitunterstützung in direkter URL gelöscht und Videos eingebettet?

Vor kurzem könnte man #t=2m0s oder #t=120 verwenden, um die Startzeit für direkte Links festzulegen:

http://www.youtube.com/watch?v=Fk2bUvrv-Uc#t=2m30s

sowie für eingebettete Videos:

<iframe width="420" height="315" \
src="http://www.youtube.com/embed/Fk2bUvrv-Uc#t=2m30s" \
frameborder="0" allowfullscreen></iframe>

Nun scheint es, dass YouTube die #t-Startzeitunterstützung eingestellt hat und das oben genannte nicht mehr funktioniert. Wie kann ich jetzt auf Videos mit einer bestimmten Startzeit verweisen?

34
ivanzolotov

Videos einbetten

Sieht aus, als würde jetzt ein anderer Parameter verwendet werden - start=<number of seconds> (siehe dieses Blog und Dokumentation ).

Beispiel:

<iframe width="420" height="315" frameborder="0" allowfullscreen
        src="http://www.youtube.com/embed/Nc9xq-TVyHI?start=110&end=119"></iframe>

Direkte Links

Für direkte Links genügt es, einfach # für & zu ersetzen:

http://www.youtube.com/watch?v=Fk2bUvrv-Uc&t=2m30s
58
ceasar

Sie können & t = anstelle von # t = verwenden

14
Nick

YouTube hat die #t-Startzeitunterstützung für eingebettete Videos gestrichen. Jetzt müssen Äther direkt start=N&end=M-Parameter in Sekunden gemäß ihrer neuen API verwenden oder zusätzlichen Code schreiben, mit dem unsere alte #t=(n)m(n)s-Notation in einen neuen API-kompatiblen Stil umgewandelt wird.

3
ivanzolotov

Ich konnte den Videoclip basierend auf Anfang und Ende zum Laufen bringen, der genaue Code muss jedoch wie folgt aussehen:

start = x & end = y

dabei ist x die Startzeit in Sekunden und y die Endzeit in Sekunden

wenn das "?" ist nicht anwesend, es funktioniert nicht. Außerdem muss der Code direkt nach der URL OHNE Leerzeichen eingefügt werden, da er sonst nicht funktioniert.

2
dbldutch

Ich hatte eine große Anzahl von Videos, die mit dieser Methode mit einem JQuery-Plugin kapitelisiert wurden. Ich habe das Plugin so angepasst, dass Sie die (n) m (n) s-Notation weiterhin verwenden können. Sie können dies ziemlich leicht ändern, um den Wert #t von der URL zu verwenden, anstatt das data-Attribut, in dem ich es abspeichere.

(function( $ ) {    
    $.fn.videoChapters = function(iframeID) {
        if(typeof window.orig_video === 'undefined') {
            window.orig_video = [];
        }
        window.orig_video[iframeID] = $('#'+iframeID).clone();

        var chapterContainer = this;
        $(this).find('a').on('click', function(e) {
                e.preventDefault();
                $('#'+iframeID).remove();
                $(chapterContainer).prevAll('.video-iframe').first().find('h3').after(window.orig_video[iframeID]);

                var video = $('#'+iframeID);
                if(typeof window.video_source === 'undefined') {
                    window.video_source = [];
                }

                if(typeof window.video_source[iframeID] === 'undefined') {
                    window.video_source[iframeID] = $(video).attr('src');
                }
                /*  to use it with a normal anchor change this to something like the below, of course it will vary for URL
                 *  so it'd be better to use a regex, but I'll let someone else worry about that.
                 *
                 *   var str = $(e.target).attr('href').split('#t')[1];
                 *   var nstr = $(str).split("s")[0];
                 *   var mstr = $(nstr).split("m");
                 *   var min = Number(mstr[0]);
                 *   var sec = Number(mstr[1]);
                 *   
                 * */

                var seconds = $(e.target).data('seconds');

                /* youtube dropped old min/secs format, now we convert what's there to pure seconds */
                var splsec = seconds.split('m');
                var min = Number(splsec[0]);
                var sec = Number(splsec[1].split('s')[0]);

                min = min * 60;

                var total = min + sec; 

                var newSource = window.video_source[iframeID] + "?start="+total+"&autoplay=1&rel=0";
                $(video).attr('src', newSource);
        });

    };  
})( jQuery );
1
sijpkes

Die Start- und Endzeit mit iframe-Einbettungscode funktioniert in meinem Test nicht. Was für mich funktioniert, ist dieser Code:

Von:

http://www.youtube.com/embed/[VIDEOID]

Zu:

http://www.youtube.com/v/[VIDEOID\\&start=[SECONDS..&end=[SECONDS]

<object width="640" height="385">
<param name="movie" value="http://www.youtube.com/v/[VIDEOID]&start=100&end=500" />
<param name="allowscriptaccess" value="always" />
<embed src="http://www.youtube.com/v/[VIDEOID]&start=100&end=500" type="application/x-shockwave-flash" allowscriptaccess="always" width="640" height="385" />
</object>
0
Leoj Etagram

Es scheint (wieder?) Mit # t = zu funktionieren, zumindest für direkte URLs. Die angegebene URL: https://www.youtube.com/watch?v=Fk2bUvrv-Uc# t = 2m30s funktioniert, das heißt: es springt auf 2min 30sek. Ich habe dies auf FF, Chrome, IE11 ..__ getestet. Aber es ist wahrscheinlich besser, & t = zu verwenden. & Ist das allgemeine Verkettungszeichen für URL-Argumente.

0
Paul Gobée