当前位置: 首页 > 知识库问答 >
问题:

用ffmpeg对nginx同播不工作的HLS转码/转换为RTMP

查飞星
2023-03-14

我想把一个HLS流和转码到RTMP,并与nginx RTMP模块联播。

但是它不起作用(我把它放在RTMP模块的应用程序部分)。

exec ffmpeg -i -re http://<HLS>.m3u8 -acodec aac -vcodec libx264 -f flv rtmp://localhost/live/test;

当我试图在VLC中查看我的RTMP流时,它没有加载。我已经尝试了ffmpeg指令的几个变体,没有一个奏效。有什么建议吗?如果您需要查看更多我的配置文件,我可以提供,但这台服务器在以前通过Teradek编码器发送视频时一直工作得很好。这条新皱纹不起作用了。

编辑:只是有个想法。它可能有助于获得传入的HLS流的编解码器信息。在这里:

  • 视频编解码器:H264-MPEG-4 AVC
  • 分辨率:640x360
  • 帧速率:24
  • 解码格式:平面4:2:0YUV
  • 音频编解码器:MPEG AAC音频(mp4a)
  • 频道:立体声
  • 采样速率:48000Hz

共有1个答案

翟嘉年
2023-03-14

如果你在终端运行

ffmpeg -i -re http://<HLS>.m3u8 -acodec aac -vcodec libx264 -f flv rtmp://localhost/live/test;

你能在VLC中播放流吗?

 类似资料:
  • 我正尝试在iOS应用程序中使用ffmpeg将本地。mp4视频转换为HLS。我已经使用pods集成了ffmpeg包装器,并生成了所有分段的。ts文件和m3u8文件,但是一些。ts文件段没有在。m3u8播放列表文件中列出,如下所示。它总是列出最后5个视频片段。 我使用以下代码生成HLS。 还有其他方法可以做到这一点吗?

  • 我正在尝试使用ffmpeg(在OSX上运行)将基本mp4视频转换为HLS视频,使用以下命令: 它确实生成了所有段文件,但是生成的播放列表文件只列出了最后四个段文件,删除了所有早期的段。帮忙?

  • 我正在构建一个web应用程序,涉及服务各种视频内容。Web友好的音频和视频编解码器处理没有任何问题,但我在设计与HTML5视频播放器如mkv容器或H265不兼容的视频文件交付时遇到了麻烦。 我的技术可行吗?因为只有在关键帧之后才可能进行分段,所以预置分段持续时间会有什么问题吗?ffmpeg是否可以绕过这个问题? 我对视频处理和生成的知识充其量只是微不足道。我将非常感谢一些指点。

  • 将(从webm、rtmp等任何格式)编码为通用hls或dash格式的“好”方法是什么??? 我看到大量关于HLS和MPEG-DASH的讨论,视频标签看起来像这样 但FFMPEG中的好命令是什么? 当我这么做的时候 它只能在chrome中播放:( 但我需要它能在safari、firefox、opera等平台上播放 我最近看过关于MP4box的讨论,能将任何源代码转换成通用可播放流的最佳线路是什么?

  • 我希望将fMP4片段转换为TS片段(用于HLS),因为片段是在iOS设备上使用FFmpeg编写的。 我试图在iOS上实现实时上传,同时在本地保持无缝的高清副本。 1)启动由AAC编码器编写的音频帧,产生间隙。 2)由于视频帧长33.33ms,音频帧长0.022ms,所以它们可能不在文件末尾排队。 3)在Mac OS上缺乏帧精确编码,但在iOS上没有详细信息 但是,我对FFmpeg C API还不够

  • 在这一点上,我的解决方案是工作的,但只能作为RTMP,我可以使用URL完美地观看我的流: 但问题是我的LG智能电视使用WebOS不支持RTMP,我真的很想在那里播放我的流。我现在能看到的唯一解决方案是使用HLS。使用HLS也很好,但我需要在打开电视中的HLS流之前执行我的ffmpeg命令,否则它将不会创建在电视上显示流所需的文件。