Como posso baixar vídeos em fluxo com o protocolo rtmp? Da Harvard Extension, mais especificamente


24

Estou tendo problemas para baixar palestras em vídeo da Harvard Extension School. Eu esperava poder usar o CS171, mas me deparei com uma enorme quantidade de tempo aguardando buffer sem fim. Então, desejo encontrar uma maneira de baixar as palestras e assisti-las localmente.

Então, tentei visualizar o código-fonte da página (tome a primeira aula, por exemplo); descobri que o FlashViewer está vinculado a um URL XML. Eu segui o link e descobri que entre as tags "rtmp" havia um link para um arquivo mp4: "rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124 -L01-1-h264-av1248-16x9-852x480.mp4 "e eu acreditava que era isso, o arquivo que estava procurando.

Depois vem o problema com o download. Eu executei uma vasta pesquisa e tentei várias vezes. Nenhum funcionou.

Uma maneira que eu tentei estava correndo

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

no meu Ubuntu, com uma resposta de

    rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4: esquema não suportado `rtmp '.

Não sei o que isso significa ...

Eu também tentei o rtmpdump, adquirido via apt-get. E quando eu corro

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

eu recebo

    RTMPDump v2.4
    (c) 2010 Andrej Stepanchuk, Howard Chu, Equipe Flvstreamer; licença: GPL
    A ligar ...
    INFO: conectado ...
    ERRO: Fechando a conexão: NetStream.Play.Failed

Não sei o que NetStrem.Play.Failed significa ...

Então eu corri para o estouro de pilha, com as sugestões de usar mplayer e vlc, executei, respectivamente:

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

voltou

    MPlayer svn r34540 (Ubuntu), construído com gcc-4.7 (C) 2000-2012 MPlayer Team
    mplayer: não foi possível conectar ao soquete
    mplayer: Esse arquivo ou diretório não existe
    Falha ao abrir o suporte ao LIRC. Você não poderá usar seu controle remoto.

    Reproduzindo rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    libavformat versão 53.21.0 (externo)
    Cabeçalho incompatível versão 53.19.0
    Usando protocolos de rede sem inicialização de rede global. Por favor, use avformat_network_init (), isso se tornará obrigatório mais tarde.
    Usando protocolos de rede sem inicialização de rede global. Por favor, use avformat_network_init (), isso se tornará obrigatório mais tarde.
    [rtmp @ 0x7f3de47abc00] Erro no servidor: acesso de leitura negado para o fluxo 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    Falha ao abrir o rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.


    Saindo ... (Fim do arquivo)

e

    $ 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 file / ts: output.mpg vlc: // sai

com

    VLC media player 2.0.4 Twoflower (revisão 2.0.3-289-g6e6100a)
    [0xf0aed8] interface fictícia: usando o módulo de interface fictícia ...
    Usando protocolos de rede sem inicialização de rede global. Por favor, use avformat_network_init (), isso se tornará obrigatório mais tarde.
    Usando protocolos de rede sem inicialização de rede global. Por favor, use avformat_network_init (), isso se tornará obrigatório mais tarde.
    [rtmp @ 0x7f6f28010a20] Erro no servidor: acesso de leitura negado para o fluxo 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4.
    [0x7f6f28002d38] erro de acesso access_avio: falha ao abrir o rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4: Erro de entrada / saída
    [0x7f6f20000b28] erro de entrada principal: aberto de `rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480. mp4 'falhou
    [0x7f6f20000b28] erro de entrada principal: sua entrada não pode ser aberta
    [0x7f6f20000b28] erro de entrada principal: o VLC não pode abrir o rtmp do MRL ': //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248 -16x9-852x480.mp4 '. Verifique o log para obter detalhes.
    [0x7f6f28002a08] idux demux: command `quit '

em resposta.

Eu também tentei o Orbit Download no Windows com zero alegria. O download nem começaria!

Alguém me diria muito bem por que é tão difícil baixar esse tipo de arquivo e o que essas mensagens de erro significam? E existe alguma maneira de assistir a essas palestras localmente?


contanto que você não distribua o vídeo, deve ser justo baixá-lo IMHO
CSᵠ

Você
checou

@godka haha, desde que eu possa realmente fazer o download;

@ d33pika realmente não. parece que o rtmpdump ainda é a ferramenta poderosa. Eu acho que é as bandeiras i não conseguiram ajustar com que não começar o trabalho feito

Respostas:


15

Use RtmpSrv. É fornecido com o rtmpdmp v.21 em diante:

A partir da versão 2.1, existem dois programas de servidor adicionais, rtmpsrv e rtmpsuck.

rtmpsrv é um esboço para um servidor; ele registra os parâmetros de conexão e reprodução de um cliente comum que se conecta a ele. Em seguida, ele chama rtmpdump com esses parâmetros para recuperar o fluxo.

Uso

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, Equipe Flvstreamer; licença: GPL
A ligar ...
INFO: conectado ...
Iniciando o download em: 0,000 kB
[...]
3322,127 kB / 22,03 seg (0,3%)
  • -r- o URL do servidor rtmp. Encontre o URL no pacote "conectar". Por exemplo, connect('22773_VOD_HOP_NEW_2013')significa que seu URL serártmp://serveraddress/22773_VOD_HOP_NEW_2013

  • -y- o local do arquivo e digite o servidor rtmp do seu arquivo de vídeo. Encontrei no pacote "play".

  • -o- o nome do arquivo de saída. Se for um fluxo mp4, use uma extensão .mp4.


Você é meu herói! Eu estava com problemas com o sinalizador -C do comando rtmpdump. (Eu ainda não conseguiram entender como devo ajustar isso, mas ele está trabalhando!)
alxyzc

4
Cuidados para explicar o que todas as opções de linha de comando são para, porque não é exatamente claro para mim
Ivo Flipse

11

Use o VLC player para baixar um rtmpfluxo:

  1. Etapa: Escolha Media > Convert/Save(ou use o atalho Ctrl+ R)
  2. Etapa: escolha a guia Network
  3. Etapa: Digite o URI do fluxo rmtp

    insira a descrição da imagem aqui

  4. Etapa: escolha Converte insira o caminho / arquivo de destino
  5. Etapa: Vá!

1

No que diz respeito à legalidade, isso dependeria das restrições estabelecidas pelo proprietário. Mas eu assumiria que, se fosse apenas para uso pessoal, não haveria muito problema.

Em relação ao download, você deve poder usar o VLC . Eu nunca tentei eu mesmo, mas ele lista o suporte ao protocolo RTMP e sua opção regular de converter / salvar deve poder salvar o vapor em um arquivo sem nenhum problema.


Eu tentei isso de fato, com o resultado do VLC gritando comigo com o seguinte: 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, como verifico o log?
Alxyzc

@alxyzc Ferramentas> Mensagens. Você pode aumentar a verbosidade para ver todas as mensagens de depuração.
bdr9

1

Eu tive sucesso com alguns fluxos RTMP usando o programa youtube-dl .

É um aplicativo de linha de comando que será baixado no diretório atual se você não passar argumentos. Com os fluxos RTMP, normalmente passo a URL da página, em vez de tentar localizar o URI RTMP.

youtube-dl "http://domain/page-with-stream"

0

O Streaming Video Downloader pode fazer isso - eu uso-o para salvar todos os filhos de vídeos. Apenas tentei com sua palestra em Harward e funcionou. Não é freeware, mas pode fazê-lo.

Talvez seja necessário atualizar a página algumas vezes para que o vídeo seja selecionado.

Divulgação: eu fazia parte da equipe de desenvolvimento para este produto.


0

Como estudante de graduação em Harvard, estou acostumado a assistir a palestras em 2x ou mais (um hábito do CS50), e é um incômodo que os vídeos das escolas de extensão não tenham esse recurso.

Descobri que Jaksta (você provavelmente pode encontrar uma cópia gratuita on-line em algum lugar) faz o download com êxito de palestras de streaming em FLVformato, que eu posso assistir no VLC player a qualquer velocidade, para o conteúdo do meu coração.

Depois de baixar a primeira palestra, posso fazer o download das próximas palestras em uma área de trabalho separada enquanto assisto à primeira. Encontrei essa solução depois de ler todos esses fóruns e não entender como implementar no Mac OS a solução RMTP postada acima.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.