ฉันจะดาวน์โหลดสตรีมวิดีโอด้วยโปรโตคอล rtmp ได้อย่างไร จากฮาร์วาร์ดส่วนขยายโดยเฉพาะอย่างยิ่ง


24

ฉันมีปัญหาในการดาวน์โหลดวิดีโอบรรยายจาก Harvard Extension School ฉันหวังว่าฉันจะสามารถใช้ CS171 ได้ แต่ฉันพบว่าตัวเองต้องใช้เวลามากมายในการรอการบัฟเฟอร์ที่ไม่มีที่สิ้นสุด ดังนั้นฉันต้องการหาวิธีที่จะดาวน์โหลดการบรรยายและดูพวกเขาในพื้นที่

ดังนั้นฉันจึงพยายามดูซอร์สโค้ดของหน้าเว็บ (ใช้การบรรยายครั้งแรกเป็นต้น) ฉันพบว่า FlashViewer เชื่อมโยงกับ URL ของ XML ฉันติดตามลิงก์และพบว่าระหว่างแท็ก "rtmp" เป็นลิงก์ไปยังไฟล์ mp4: "rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124 -L01-1-h264-av1248-16x9-852x480.mp4 "และฉันเชื่อว่าเป็นไฟล์ที่ฉันกำลังมองหา

ถ้าอย่างนั้นก็มีปัญหากับการดาวน์โหลด ฉันใช้การค้นหามากมายและลองหลายครั้ง ไม่มีใครทำงาน

วิธีหนึ่งที่ฉันลองใช้คือ

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

บน Ubuntu ของฉันพร้อมคำตอบ

    rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4: รูปแบบที่ไม่สนับสนุน `rtmp '

ฉันไม่แน่ใจว่ามันหมายถึงอะไร ...

ฉันยังลอง rtmpdump ที่ได้มาผ่าน apt-get และเมื่อฉันวิ่ง

    $ rtmpdump -r rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4 -o เล็คเชอร์ 1.mp4

ฉันเข้าใจ

    RTMPDump v2.4
    (c) 2010 Andrej Stepanchuk, Howard Chu, ทีม Flvstreamer; ใบอนุญาต: GPL
    กำลังเชื่อมต่อ ...
    ข้อมูล: เชื่อมต่อแล้ว ...
    ข้อผิดพลาด: การเชื่อมต่อปิด: NetStream.Play.Failed

ฉันไม่รู้ว่า NetStrem.Play.Failed แปลว่าอะไร ...

จากนั้นฉันก็วิ่งเข้าไปในกองล้นด้วยคำแนะนำของการใช้ mplayer และ vlc ฉันวิ่งตามลำดับ:

    $ mplayer -dump สตรีม rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4

กลับไป

    MPlayer svn r34540 (Ubuntu) สร้างด้วย gcc-4.7 (C) 2000-2012 MPlayer Team
    mplayer: ไม่สามารถเชื่อมต่อกับซ็อกเก็ต
    mplayer: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว
    ไม่สามารถเปิดการสนับสนุน LIRC คุณจะไม่สามารถใช้การควบคุมระยะไกลของคุณ

    กำลังเล่น rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4
    libavformat เวอร์ชั่น 53.21.0 (ภายนอก)
    ไม่ตรงกับส่วนหัวรุ่น 53.19.0
    ใช้โปรโตคอลเครือข่ายโดยไม่ต้องเริ่มต้นเครือข่ายทั่วโลก โปรดใช้ avformat_network_init () ซึ่งจะมีผลบังคับใช้ในภายหลัง
    ใช้โปรโตคอลเครือข่ายโดยไม่ต้องเริ่มต้นเครือข่ายทั่วโลก โปรดใช้ avformat_network_init () ซึ่งจะมีผลบังคับใช้ในภายหลัง
    [rtmp @ 0x7f3de47abc00] ข้อผิดพลาดเซิร์ฟเวอร์: การเข้าถึงถูกปฏิเสธสำหรับสตรีม 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4
    ไม่สามารถเปิด rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4


    กำลังออก ... (จบไฟล์)

และ

    $ 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 ไฟล์ / ts: output.mpg vlc: // ออก

กับ

    VLC media player 2.0.4 Twoflower (การแก้ไข 2.0.3-289-g6e6100a)
    [0xf0aed8] อินเทอร์เฟซแบบจำลอง: ใช้โมดูลส่วนติดต่อแบบจำลอง ...
    ใช้โปรโตคอลเครือข่ายโดยไม่ต้องเริ่มต้นเครือข่ายทั่วโลก โปรดใช้ avformat_network_init () ซึ่งจะมีผลบังคับใช้ในภายหลัง
    ใช้โปรโตคอลเครือข่ายโดยไม่ต้องเริ่มต้นเครือข่ายทั่วโลก โปรดใช้ avformat_network_init () ซึ่งจะมีผลบังคับใช้ในภายหลัง
    [rtmp @ 0x7f6f28010a20] ข้อผิดพลาดของเซิร์ฟเวอร์: ปฏิเสธการเข้าถึงเพื่ออ่านสำหรับสตรีม 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480.mp4
    [0x7f6f28002d38] ข้อผิดพลาดการเข้าถึง access_avio: ล้มเหลวในการเปิด rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16-16-av1248-16x9-852x480 mp4: ข้อผิดพลาดอินพุต / เอาต์พุต
    [0x7f6f20000b28] ข้อผิดพลาดอินพุตหลัก: เปิด `rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248-16x9-852x480 mp4 'ล้มเหลว
    [0x7f6f20000b28] ข้อผิดพลาดอินพุตหลัก: อินพุตของคุณไม่สามารถเปิดได้
    [0x7f6f20000b28] ข้อผิดพลาดในการป้อนข้อมูลหลัก: VLC ไม่สามารถเปิด MRL 'rtmp: //flash.dce.harvard.edu/bounce/mp4: 2012/02/22872 / L01 / 22872-20120124-L01-1-h264-av1248 -16x9-852x480.mp4' ตรวจสอบบันทึกเพื่อดูรายละเอียด
    [0x7f6f28002a08] idux demux: คำสั่ง `ออกจาก '

ในการตอบสนอง

ฉันได้ลองใช้ Orbit Download บน Windows ด้วยความยินดีแล้ว การดาวน์โหลดจะไม่เริ่มต้นด้วยซ้ำ!

มีใครบางคนบอกฉันว่าทำไมมันจึงยากที่จะดาวน์โหลดไฟล์ประเภทนี้และข้อความผิดพลาดเหล่านั้นมีความหมายว่าอย่างไร และมีวิธีใดบ้างที่ฉันสามารถดูการบรรยายเหล่านั้นในพื้นที่?


ตราบใดที่คุณไม่ได้เผยแพร่วิดีโอคุณควรดาวน์โหลด IMHO
CSᵠ

คุณตรวจสอบคำตอบที่นี่หรือไม่: stackoverflow.com/questions/4808322/…
d33pika

@ godka haha ​​ตราบใดที่ฉันสามารถดาวน์โหลดได้;

@ d33pika ไม่จริง ดูเหมือนว่า rtmpdump ยังคงเป็นเครื่องมือที่มีประสิทธิภาพ ฉันคิดว่ามันเป็นธงฉันล้มเหลวในการปรับแต่งกับที่ไม่ได้งานทำ

คำตอบ:


15

ใช้ RtmpSrv มันมาพร้อมกับ rtmpdmp v.21 เป็นต้นไป:

ในฐานะของ 2.1 มีสองโปรแกรมเซิร์ฟเวอร์เพิ่มเติมคือ rtmpsrv และ rtmpsuck

rtmpsrv เป็น stub สำหรับเซิร์ฟเวอร์ มันบันทึกพารามิเตอร์การเชื่อมต่อและเล่นจากไคลเอนต์ปกติที่เชื่อมต่อกับมัน จากนั้นเรียกใช้ rtmpdump พร้อมกับพารามิเตอร์เหล่านั้นเพื่อดึงข้อมูลสตรีม

การใช้

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, ทีม Flvstreamer; ใบอนุญาต: GPL
กำลังเชื่อมต่อ ...
ข้อมูล: เชื่อมต่อแล้ว ...
เริ่มดาวน์โหลดได้ที่: 0.000 kB
[ ... ]
3322.127 kB / 22.03 วินาที (0.3%)
  • -r- url ของเซิร์ฟเวอร์ rtmp ค้นหา URL ในแพ็คเก็ต "เชื่อมต่อ" เช่นconnect('22773_VOD_HOP_NEW_2013')หมายความว่า URL ของคุณจะเป็นrtmp://serveraddress/22773_VOD_HOP_NEW_2013

  • -y- ตำแหน่งไฟล์และพิมพ์ในเซิร์ฟเวอร์ rtmp ของไฟล์วิดีโอของคุณ พบได้ในแพ็คเก็ต "เล่น"

  • -o- ชื่อไฟล์ที่ส่งออก หากเป็นสตรีม mp4 ให้ใช้นามสกุล. mp4


คุณคือฮีโร่ของฉัน! ฉันทุกคนสับสนกับแฟล็ก -C ของคำสั่ง rtmpdump (ผมก็ยังไม่เข้าใจว่าฉันควรปรับแต่งนั้น แต่ก็ทำงาน!)
alxyzc

4
สนใจที่จะอธิบายว่าตัวเลือกบรรทัดคำสั่งทั้งหมดมีไว้เพื่ออะไรเพราะมันไม่ชัดเจนสำหรับฉัน
Ivo Flipse

11

ใช้เครื่องเล่น VLCเพื่อดาวน์โหลดrtmpสตรีม:

  1. ขั้นตอน: เลือกMedia > Convert/Save(หรือใช้ทางลัดCtrl+ R)
  2. ขั้นตอน: เลือกแท็บ Network
  3. ขั้นตอน: ป้อน rmtp stream URI

    ป้อนคำอธิบายรูปภาพที่นี่

  4. ขั้นตอน: เลือกConvertและป้อนพา ธ / ไฟล์เป้าหมาย
  5. ขั้นตอน: ไปกันเลย!

1

ในส่วนที่เกี่ยวกับความชอบด้วยกฎหมายที่จะขึ้นอยู่กับข้อ จำกัด ที่เจ้าของกำหนดไว้ แต่ฉันจะสมมติว่ามันเป็นเพียงเพื่อการใช้งานส่วนตัวไม่มีปัญหามาก

ในเรื่องที่เกี่ยวกับการดาวน์โหลดพวกเขาคุณควรจะสามารถที่จะใช้VLC ฉันไม่เคยลองด้วยตัวเอง แต่มีรายการสนับสนุนโปรโตคอล RTMP และตัวเลือกการแปลง / บันทึกปกติควรสามารถบันทึกไอน้ำเป็นไฟล์ได้โดยไม่มีปัญหาใด ๆ


ฉันได้ลองแล้วจริง ๆ แล้วด้วยผลลัพธ์ของ VLC ตะโกนใส่ฉันดังต่อไปนี้: 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 ฉันจะตรวจสอบบันทึกได้อย่างไร
alxyzc

@alxyzc เครื่องมือ> ข้อความ คุณอาจต้องการเพิ่ม verbosity เพื่อดูข้อความ debug ทั้งหมด
bdr9

1

ฉันมีความสำเร็จกับบาง RTMP ลำธารใช้YouTube-ดลโปรแกรม

มันเป็นแอพพลิเคชั่นบรรทัดคำสั่งที่จะดาวน์โหลดไปยังไดเรกทอรีปัจจุบันของคุณหากคุณไม่ผ่านการโต้แย้ง ด้วยสตรีม RTMP ฉันมักจะผ่าน URL หน้าแทนที่จะพยายามหา RTMP URI

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

0

Streaming Video Downloaderทำได้ - ฉันใช้เพื่อบันทึกวิดีโอทั้งหมด ลองใช้กับการบรรยาย Harward ของคุณและใช้งานได้ มันไม่ได้เป็นฟรีแวร์แต่ก็สามารถทำมันได้

คุณอาจต้องรีเฟรชหน้าเว็บสองสามครั้งเพื่อรับวิดีโอ

การเปิดเผยข้อมูล: ฉันเป็นส่วนหนึ่งของทีม dev สำหรับผลิตภัณฑ์นี้


0

ในฐานะนักศึกษาระดับปริญญาตรีของ Harvard ฉันคุ้นเคยกับการดูการบรรยายเป็นสองเท่าหรือสูงกว่า (เป็นนิสัยจาก CS50) และเป็นเรื่องที่น่ากังวลว่าวิดีโอของโรงเรียนต่อขยายไม่มีคุณลักษณะนี้

ฉันพบว่า Jaksta (คุณอาจจะหาสำเนาฟรีออนไลน์ที่ไหนสักแห่ง) ค่อนข้างประสบความสำเร็จในการดาวน์โหลดการบรรยายFLVแบบสตรีมมิ่งในรูปแบบซึ่งฉันสามารถดูในเครื่องเล่น VLC ได้ทุกที่ตามเนื้อหาของหัวใจ

เมื่อฉันดาวน์โหลดการบรรยายครั้งแรกแล้วฉันสามารถดาวน์โหลดการบรรยายครั้งต่อไปในเดสก์ท็อปแยกต่างหากในขณะที่ดูครั้งแรก ฉันพบโซลูชันนี้หลังจากอ่านฟอรัมเหล่านี้ทั้งหมดแล้วและไม่เข้าใจวิธีการใช้งานบน Mac OS อย่างแท้จริงโซลูชัน RMTP ที่โพสต์ไว้ด้านบน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.