我一直在尝试找到一种方法来录制 NASATV HD 直播/广播,但它似乎比我想象的要难。
有人能给出一些开明的建议吗?我完全不明白……
答案1
按照此说明操作后初始博客文章,我设法提取了 NASA TV 的 ISS 直播网址并让它在 VLC 中播放。
请首先安装rtmpdump
和vlc
,因为您需要它们来遵循本文。
说明和更新:
重要更新(2013 年 6 月 28 日):上述网站的脚本现在无法正确定位广播,因此您必须使用更新后的脚本在 Github。下载并使其可执行;调用它
ustream-recorder
。我重写了这篇文章,以便它仍然有用。每次你想观看直播时,你都需要重复以下步骤,因为 rtmp 流不会长时间保持有效。
另一个更新(2013 年 9 月):解析 ustream 脚本中的 URL 的正则表达式似乎需要修复(我会尝试..),但与此同时,我们可以使用 iphone 流媒体 URL,至少对于桌面上的主 NASA 电视,就像使用在线ustream url 转换器. 可以使用 Vlc 打开 url 并流式传输内容:
vlc "http://iphone-streaming.ustream.tv/ustreamVideo/6540154/streams/live/playlist.m3u8"
另请参阅本文末尾有关使用 下载或流式传输录制的 ustream 视频(NASA 或其他)的信息
get_flash_player
。
对于列出的每个 NASA 频道ustream.tv,您必须针对正确的 URL 运行脚本才能发现有效的流信息:
python /location/of/ustream_recorder http://www.ustream.tv/nasahdtv
现在您将收到以下带有您需要使用的 rtmp url 的输出:
Opening url: http://www.ustream.tv/nasahdtv
AMF URL: http://cdngw.ustream.tv/Viewer/getStream/1/6540154.amf
Channel ID: 6540154
Channel Title: nasahdtv
RTMP URL: rtmp://ustreamlivefs.fplive.net/ustream3live-live/
RTMP Streamname: stream_live_1_1_6540154
RTMP Command: rtmpdump -v -r "rtmp://ustreamlivefs.fplive.net/ustream3live-live//stream_live_1_1_6540154" -W "http://www.ustream.tv/flash/viewer.swf" --live
您需要注意上述输出中的“RTMP 命令”部分,并在命令中使用它来流式传输、录制或流式传输和录制媒体。
(请意识到的因为每次都需要使用脚本生成 rtmp 服务器地址,所以几天后 ustream 轮换服务器时,下面的 rtmp url 可能就不再起作用了。)
要播放媒体,请添加
| vlc -
到脚本发现的 rtmp 命令:rtmpdump -v -r "rtmp://ustreamlivefs.fplive.net/ustream3live-live//stream_live_1_1_6540154" -W "http://www.ustream.tv/flash/viewer.swf" --live | vlc -
要播放和录制,请添加
| tee "$(date +'%F_%H_%M_%S')".flv | vlc -
到 rtmp 命令:rtmpdump -v -r "rtmp://ustreamlivefs.fplive.net/ustream3live-live//stream_live_1_1_6540154" -W "http://www.ustream.tv/flash/viewer.swf" --live | tee "$(date +'%F_%H_%M_%S')".flv | vlc -
如果仅录制,请添加
-o "$(date +'%F_%H_%M_%S')".flv
到 rtmp 命令:rtmpdump -v -r "rtmp://ustreamlivefs.fplive.net/ustream3live-live//stream_live_1_1_6540154" -W "http://www.ustream.tv/flash/viewer.swf" --live -o "$(date +'%F_%H_%M_%S')".flv
我已经使用了date
创建的文件名,因此创建了一个唯一的文件名,因此任何文件都不会冲突或被覆盖。
再次提醒,请记住您需要自己运行 ustream-recorder 脚本来找到有效的 rtmp url,因为上面的这些示例 url 仅在短时间内有效。
补充说明:
也可以使用get-flash-videos
Perl 脚本来流式传输或下载预先录制的 ustream NASA 内容。它位于存储库中,但您可能需要最新版本最好安装存储库版本,因为需要很多依赖项,然后如果需要,从 $HOME 运行最新版本,如此处注明。
实际上我还需要几个依赖项libmodule-find-perl
,libwww-mechanize-perl
和libxml-simple-perl
。
要下载预先录制的程序:
get_flash_videos http://www.ustream.tv/recorded/25391855
示例输出:
Using method 'ustream' plugin version 0.01 for http://www.ustream.tv/recorded/25391855 Downloading http://www.ustream.tv/recorded/25391855 Downloading http://tcdn.ustream.tv/video/25391855... The_Challenges_of_Mars_Exploration.flv: 1% (6017.34 / 387974.54 KiB)
要播放和下载预先录制的节目,只需使用 -p 选项
get_flash_videos -p --player=vlc http://www.ustream.tv/recorded/25391855
请参阅帖子顶部有关更新 rtmp url 信息和使用正确的脚本查找 rtmp url 的重要说明。