Comment puis-je télécharger des vidéos en streaming avec le protocole rtmp? De Harvard Extension, plus spécifiquement

24

J'ai eu du mal à télécharger des conférences vidéo de Harvard Extension School. J'espérais pouvoir prendre CS171, mais je me suis retrouvé à passer énormément de temps à attendre une mise en mémoire tampon sans fin. Je souhaite donc trouver un moyen de télécharger les conférences et de les regarder localement.

J'ai donc essayé d'afficher le code source de la page (prenez la première conférence par exemple), j'ai trouvé que FlashViewer est lié à une URL XML. J'ai suivi le lien et j'ai découvert qu'entre les balises "rtmp" se trouvait un lien vers un fichier mp4: "rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124 -L01-1-h264-av1248-16x9-852x480.mp4 "et j'ai cru que c'était tout, le fichier que je cherchais.

Vient ensuite le problème du téléchargement. J'ai exécuté une vaste recherche et essayé plusieurs fois. Aucun n'a fonctionné.

Une façon que j'ai essayée était de courir

    $ wget rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4

sur mon Ubuntu, avec une réponse de

    rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4: Schéma non pris en charge `rtmp '.

Je ne sais pas ce que cela signifie ...

J'ai également essayé rtmpdump, acquis via apt-get. Et quand je cours

    $ rtmpdump -r rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 -o lecture1.mp4

Je reçois

    RTMPDump v2.4
    (c) 2010 Andrej Stepanchuk, Howard Chu, L'équipe Flvstreamer; licence: GPL
    Connexion ...
    INFO: Connecté ...
    ERREUR: fermeture de la connexion: NetStream.Play.Failed

Je ne sais pas non plus ce que signifie NetStrem.Play.Failed ...

Ensuite, je suis tombé sur un débordement de pile, avec les suggestions d'utiliser mplayer et vlc, j'ai couru, respectivement:

    $ mplayer -dumpstream rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4

est revenu

    MPlayer svn r34540 (Ubuntu), construit avec gcc-4.7 (C) 2000-2012 MPlayer Team
    mplayer: impossible de se connecter au socket
    mplayer: aucun fichier ou répertoire de ce type
    Impossible d'ouvrir le support LIRC. Vous ne pourrez pas utiliser votre télécommande.

    Lecture de rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    libavformat version 53.21.0 (externe)
    En-tête non compatible, version 53.19.0
    Utilisation de protocoles réseau sans initialisation réseau globale. Veuillez utiliser avformat_network_init (), cela deviendra obligatoire plus tard.
    Utilisation de protocoles réseau sans initialisation réseau globale. Veuillez utiliser avformat_network_init (), cela deviendra obligatoire plus tard.
    [rtmp @ 0x7f3de47abc00] Erreur de serveur: accès en lecture refusé pour le flux 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    Impossible d'ouvrir rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.


    Sortie ... (Fin du fichier)

et

    $ vlc -I dummy vlc -I dummy rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 --sout fichier / ts: output.mpg vlc: // quitter

avec

    Lecteur multimédia VLC 2.0.4 à deux fleurs (révision 2.0.3-289-g6e6100a)
    [0xf0aed8] interface factice: utilisation du module d'interface factice ...
    Utilisation de protocoles réseau sans initialisation réseau globale. Veuillez utiliser avformat_network_init (), cela deviendra obligatoire plus tard.
    Utilisation de protocoles réseau sans initialisation réseau globale. Veuillez utiliser avformat_network_init (), cela deviendra obligatoire plus tard.
    [rtmp @ 0x7f6f28010a20] Erreur de serveur: accès en lecture refusé pour le flux 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    [0x7f6f28002d38] Erreur d'accès access_avio: échec de l'ouverture de rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4: erreur d'entrée / sortie
    [0x7f6f20000b28] erreur d'entrée principale: ouverture de `rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4 'a échoué
    [0x7f6f20000b28] erreur d'entrée principale: votre entrée ne peut pas être ouverte
    [0x7f6f20000b28] erreur d'entrée principale: VLC ne peut pas ouvrir la LMR 'rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248 -16x9-852x480.mp4 '. Consultez le journal pour plus de détails.
    [0x7f6f28002a08] démultiplexeur idyllique: commande `quitter '

en réponse.

J'ai également essayé Orbit Download sur Windows sans aucune joie. Le téléchargement ne démarre même pas!

Quelqu'un pourrait-il bien me dire pourquoi il est si difficile de télécharger ce type de fichiers et ce que signifient ces messages d'erreur? Et est-il possible de regarder ces conférences localement?

alxyzc
la source
tant que vous ne distribuez pas la vidéo, il devrait être juste de la télécharger IMHO
CSᵠ
Avez-vous vérifié la réponse ici: stackoverflow.com/questions/4808322/…
d33pika
@godka haha ​​tant que je peux réellement le télécharger;
@ d33pika en fait non. semble que rtmpdump est toujours l'outil puissant. je pense que ce sont les drapeaux avec lesquels je n'ai pas réussi à régler qui n'ont pas fait le travail

Réponses:

15

Utilisez RtmpSrv. Il est fourni avec rtmpdmp v.21 et versions ultérieures:

Depuis la version 2.1, il existe deux programmes serveur supplémentaires, rtmpsrv et rtmpsuck.

rtmpsrv est un stub pour un serveur; il enregistre les paramètres de connexion et de lecture à partir d'un client normal qui s'y connecte. Il appelle ensuite rtmpdump avec ces paramètres pour récupérer le flux.

Usage

rtmpdump -r rtmp: //flash.dce.harvard.edu/bounce -CB: 0 -CZ: \
-CS: /2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 \
-CS: BounceAPI3.0 -CN: 0.000000 -CS: mp4 \
-y mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 \
-o a.flv
RTMPDump v2.4-84-gdd57cd0
(c) 2010 Andrej Stepanchuk, Howard Chu, L'équipe Flvstreamer; licence: GPL
Connexion ...
INFO: Connecté ...
Téléchargement à partir de: 0,000 kB
[...]
3322,127 kB / 22,03 s (0,3%)
  • -r- l'url du serveur rtmp. Trouvez l'url dans le paquet "connect". Par exemple connect('22773_VOD_HOP_NEW_2013'), votre URL serartmp://serveraddress/22773_VOD_HOP_NEW_2013

  • -y- l'emplacement et le type de fichier dans le serveur rtmp de votre fichier vidéo. Je l'ai trouvé dans le paquet "play".

  • -o- le nom du fichier de sortie. S'il s'agit d'un flux mp4, utilisez une extension .mp4.

Steven Penny
la source
Tu es mon héros! J'étais tous troublé par le drapeau -C de la commande rtmpdump. (Je n'ai toujours pas compris comment je devais modifier cela, mais ça marche!)
alxyzc
4
Attention à expliquer à quoi servent toutes les options de ligne de commande, car ce n'est pas tout à fait clair pour moi
Ivo Flipse
11

Utilisez le lecteur VLC pour télécharger un rtmpflux:

  1. Étape: Choisissez Media > Convert/Save(ou utilisez le raccourci Ctrl+ R)
  2. Étape: Choisissez l'onglet Network
  3. Étape: entrez l'URI du flux rmtp

    entrez la description de l'image ici

  4. Étape: Choisissez Convertet entrez le chemin / fichier cible
  5. Étape: Allez!
Gottlieb Notschnabel
la source
1

En ce qui concerne la légalité qui dépendrait des restrictions fixées par le propriétaire. Mais je suppose que si c'était uniquement pour un usage personnel, il n'y aurait pas beaucoup de problème.

En ce qui concerne leur téléchargement, vous devriez pouvoir utiliser VLC . Je ne l'ai jamais essayé moi-même, mais il répertorie la prise en charge du protocole RTMP et son option de conversion / sauvegarde régulière devrait être capable d'enregistrer la vapeur dans un fichier sans aucun problème.

Dracs
la source
J'ai essayé cela en fait, avec le résultat de VLC me criant avec ce qui suit: Your input can't be opened: VLC is unable to open the MRL 'rtmp://flash.dce.harvard.edu/bounce/mp4:2012/02/22872/L01/22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4'. Check the log for details.btw, comment puis-je vérifier le journal?
alxyzc
@alxyzc Tools> Messages. Vous voudrez peut-être augmenter la verbosité afin de voir tous les messages de débogage.
bdr9
1

J'ai eu du succès avec certains flux RTMP en utilisant le programme youtube-dl .

Il s'agit d'une application en ligne de commande qui sera téléchargée dans votre répertoire actuel si vous ne lui passez aucun argument. Avec les flux RTMP, je lui transmets généralement l'URL de la page, plutôt que d'essayer de localiser l'URI RTMP.

youtube-dl "http://domain/page-with-stream"
palswim
la source
0

Streaming Video Downloader peut le faire - je l'utilise pour enregistrer tous les enfants de vidéos. Juste essayé avec votre conférence Harward et cela a fonctionné. Ce n'est pas un logiciel gratuit mais il peut le faire.

Vous devrez peut-être actualiser la page Web plusieurs fois pour que la vidéo soit récupérée.

Divulgation: je faisais partie de l'équipe de développement de ce produit.

George
la source
0

En tant qu'étudiant de premier cycle à Harvard, j'ai l'habitude de regarder des conférences en 2x ou plus (une habitude de CS50), et c'est un problème que les vidéos de l'école d'extension n'aient pas cette fonctionnalité.

J'ai trouvé que Jaksta (vous pouvez probablement trouver une copie gratuite en ligne quelque part) télécharge avec succès des conférences en streaming au FLVformat, que je peux ensuite regarder dans le lecteur VLC à n'importe quelle vitesse, au contenu de mon cœur.

Une fois la première conférence téléchargée, je peux télécharger les prochaines conférences sur un bureau séparé pendant que je regarde la première. J'ai trouvé cette solution après avoir parcouru tous ces forums et ne pas vraiment comprendre comment implémenter sur Mac OS la solution RMTP qui a été publiée ci-dessus.

Jonathan
la source