如何在生成HLS段的同时优化FFMPEG h264/aac转换

如何在生成HLS段的同时优化FFMPEG h264/aac转换,ffmpeg,red5,http-streaming,Ffmpeg,Red5,Http Streaming,我正在使用FFMPEG生成HLS片段。以下是我正在使用的命令: ffmpeg-i“rtmp://localhost/oflaDemo/33/hlsopt3 live=1“-y-c:v libx264-b:v 1000k-v配置文件基线-预设介质-x264opts级别=41-线程4-s 480x360-映射0:v-c:a libfaac-b:a 160000-ac 1-hls_时间3-hls_列表大小3-hls_包装10-开始编号1 hlsopt3.m3u8 我正在Ubuntu 12.04上工作,

我正在使用FFMPEG生成HLS片段。以下是我正在使用的命令:

ffmpeg-i“rtmp://localhost/oflaDemo/33/hlsopt3 live=1“-y-c:v libx264-b:v 1000k-v配置文件基线-预设介质-x264opts级别=41-线程4-s 480x360-映射0:v-c:a libfaac-b:a 160000-ac 1-hls_时间3-hls_列表大小3-hls_包装10-开始编号1 hlsopt3.m3u8

我正在Ubuntu 12.04上工作,使用RED5 1.0.2作为我的流媒体服务器,我想在android和ios设备上流媒体视频。但设备上的播放非常不稳定,无法流畅地播放视频。此外,我的服务器的CPU利用率达到100%以上

经过这么多的研究,我发现CPU利用率是由于H264/mpeg-4 aac转换,但如果不进行转换,它将无法在Ios和android设备上播放

所以请给我建议任何解决方案。如何在移动设备上流畅地播放,同时节省CPU利用率

请帮帮我,我在这件事上已经快撑了10天了


任何帮助都将不胜感激

我找到了FFMPEG使用100%CPU的原因,以及在设备上显示不稳定视频的原因。因为我没有提到帧速率

-r 24

ffmpeg -i "rtmp://localhost/oflaDemo/33/hlsopt6 live=1" -y -c:v libx264 \
 -b:v 1000k -r 24 -vprofile baseline -preset medium -x264opts level=41 \
 -threads 4 -s 480x360 -map 0:v -c:a libfaac -b:a 160000 -ac 1 -hls_time 3 \
 -hls_list_size 2 -hls_wrap 10 -start_number 1 hlsopt6.m3u8

现在,它可以在所有设备上顺利播放,并且占用更少的CPU

您通常不需要声明输出帧速率:输出将只使用与输入相同的帧速率
ffmpeg
将简单地删除或复制帧以达到您所需的输出帧速率。是的,您是对的,但在通过RED5进行流式传输的情况下,如果我们在将RTMP流式视频转换为H264/MPEG-4 Aac时不输入帧速率,则视频的播放是不稳定的。这就是为什么需要在FFMPEG中定义输出帧速率。我测试了您的命令。其输出在文件上。有没有办法将hls输出作为提要发送到Webmaster服务器?@sajad刚刚放入您的web服务器公用文件夹示例“/var/www/html”