如何利用VLC或FFMPEG将HTTP的串流转换成RTMP

如何利用VLC或FFMPEG将HTTP的串流转换成RTMP,第1张

  这个应用主要是将HTTP的串流转换成RTMP协议传送到Adobe Flash Media Server或Wowza Media Server的媒体服务器。

  RTMP的协议有以下的参数:

  RTMP: 其原始采用TCP port 1935

  RTMPS: 将RTMP加载到SSL的安全机制,就类似HTTPS。

  RTMPE: 采用Adobe所提供给RTMP所发展的加密版本。

  RTMPT: 在RTMP上加挂he RTMP protocol 封装在HTTP请求中,可以穿越防火墙。这是一个很不错的协议,使用TCP端口80和443绕过公司对防火墙。封装的会话可能携带纯RTMP,RTMPS或RTMPE包内。

  RTMP 串流

  VLC 在 20x版本里可以支持RTMP协议。不过,有些环境却没法执行,例如202, 203, 204, 206在Windows 2008 Server 64的服务器上确实没法执行。可以开启VLC然后开启网络串流,如“RTMP://aaabbbcom:1935/live/串流源“,看看可否开 启。主要是VLC 20x采用 ffmpeg/libav的程序库,但是, 有的包装却没法支持。所以必须先做确认。当 librtmp 的支持被启动于 ffmpeg/libav 则RTMPS才可以有功用。

  VLC和RTMP的情形主要是用来捕获和转码应用程序生成一个单一的流。是通过另一个应用程序分配给多个客户端。这在Wowza是非常重要的。虽然,Wowza也支持VLC采用UDP/RTP/RTSP方式接收串流,但是,很多情况下是很不稳定的。

  LC直接连接到一个的RTMP串流,如WOWZA,不听传入的请求。因此,它是不可能的,以查看的RTMP流直接从VLC。您需要连接到WOWZA,观看流。这是可以用VLC做到的:

  $ vlc rtmp://rtmpservercom:1935/path/to/stream

  有件事必须提醒的。从VLC将RTMP串流传送给Wowza服务器并不是都很稳定的。有一些时间关系的“虫”会造成Wowza关闭连线。 这样的问题都是与“音频”与”视频“时间戳(Timestamp)有关系的。采用“audio-desync” 选项来整合RTMP也不是个好点子,但是, 可以不断调整与修改。

  Webcam RTMP streaming

  以下是有关webcam的应用。其他的有采集装置、设备、视频文档等应用。

  Windows 的范例

  在windows的采集装置都是利用DirectShow这个界面的。在VLC的模块也是用这样的界面,成为“DirectShow“或”dshow”。以下是范例:

  $ vlc dshow://"" --sout '#transcode{vcodec=h264,vb=300,fps=25,scale=1,acodec=mp4a,

  ab=64,channels=2}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://rtmpservercom:1935/path/to/stream}'

  DirectShow选项也可在QT界面里采用

  Linux 的范例

  通常在Linux的采集装置上都是采用“video for linux” (v4l2)这个界面。使用指令方式来采集webcam装置(或称为”v4l2 装置”)送出RTMP串流的范例如下:

  $ vlc v4l2:// --v4l2-fps=25 --sout '#transcode{vcodec=h264,vb=300,fps=25,scale=1,

  acodec=mp4a,ab=64,channels=2}:std{access=rtmp,mux=ffmpeg{mux=flv},dst=rtmp://rtmpservercom:1935/path/to/stream}'

  这个例子可以自动侦测 v4l2 装置并且选择第一个装置来采集讯号。其他的参数选项如视频标准(PAL, NTSC)、Chroma、宽度、长度等等可以自行设置。必须要注意的是,这些参数设置跟本身的设备有关。 当我门使用debug模式 (-vvv),VLC自身的video for linux (v4l2) 模块会显示出执行时所出现的数值讯息。v4l2 模块提供以下可作为优化的选项:

  –v4l2-dev=: 指定所要采集的特定装置

  –v4l2-standard=: 使用哪种视频标准,例如: SECAM, PAL, NTSC and more

  –v4l2-width=: 视频呈现的宽度(in pixels)

  –v4l2-height=: 视频呈现的长度度(in pixels)

  以上是描述有关v4l2的参数选项。完整的v4l2模块讯息,可以利用下面的指令查询。

  $ vlc -H -p v4l2 --advanced

  以下是另一个将http串流转码(transcode)到RTMP给Adobe Flash Media Server或Wowza Media Server等视频服务器

  cvlc -I dummy http。//orginalstreamIPaddress:50014 --sout-mux-caching=5000

  --sout='#transcode{venc=x264{keyint=60},vcodec=h264,vb=800}:std{access=rtmp,

  mux=ffmpeg{mux=flv},dst=rtmp。//destinationIPaddress:1935/live/StreamFile}}' &

  这是用ffmpeg的方法:

  ffmpeg -i http。//OriginalIPAddress:50010 -vcodec libx264 -vb 800k

  -acodec libfaac -ab 64k -f flv rtmp。//DestinationIPAddress:1935/live/StreamFile

打开“媒体——流”选项

点击“添加”按钮选择流媒体文件,然后点击“串流”按钮

点击“下一个”后,在“目标设置”界面选择“RTSP”,然后点击添加 + 按钮

填上目标ip地址,并在“转码选项”中选择相应的编码类型(这个视情况而定),目标IP地址就是PC机器本机的IP地址

客户端, 点击“媒体——打开网络串流”,在d出的框中输入“rtsp://19216812:1234/tcp1”,点击“播放”按钮即可。

下载VLC解压后打开VLCPortableexe,点击媒体按钮,然后选择“打开网络串流",输入在找到的台湾电视直播源,点击播放即可。

VLC播放器看直播直播源获取方法

使用Google Chrome等以chrome为核心的浏览器,找到直播频道网页,打开一个频道播放:

在页面空白处点击鼠标右键,会看见“检查或者审核元素”打开它,浏览器右侧会出现工具界面,选择Network,会看见页面正在加载的元素,如过在你进入network时空白,或者记录很少,可能已经加载完了,你需要刷新一下页面,重新加载元素。选择m3u8开头的地址,打开它:

选择Headers 复制网址:

打开VLC播放器,粘贴网址,测试播放:

保存播放地址:

vlc播放器如何录制的方法。

如下参考:

1.点击左下角的电脑位置集合,然后选择终端,不同的桌面环境打开终端的方法不太一样,大致一样。稍微搜索一下就可以了,如下图。

2.然后在终端输入命令sudoapt-getinstallVLC,输入密码完成安装。

3.单击下图中该位置的search。

4.然后输入VLC找到软件,选择第一个软件,然后回车。

5.点击软件左上角的媒体,然后选择保存转换。

6.点击截图中的桌面,根据自己的需要在这里设置帧率,在这里设置为30帧率,然后点击转换保存。

7.在配置文件中,点击设置问题录制屏幕,获取视频格式,默认为MP4。设置好之后,单击目标文件中的browse。

8.点击维护视频位置,根据自己的需要进行选择,以免找到录制好的视频文本位置,。然后输入录制视频的名称,请务必输入,否则将无法工作。输入名称和内容后,单击save,

9.然后在d出窗口中单击start。

10.单击开始后,整个屏幕将记录和输入,包括记录屏幕软件本身。软件左下角的红点表示屏幕正在被记录。

11.录制完成后,点击图中箭头位置的图标,等待软件没有红点,表示录制画面已经停止。

12.打开您的主目录,看到您已经录制了视频文件。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/13496535.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-09-01
下一篇2025-09-01

发表评论

登录后才能评论

评论列表(0条)

    保存