我使用nginix web服务器和nginx-rtmp模块来管理以h264编码的视频流。下面是我的nginx conf:
rtmp {
server {
listen 1935;
application big {
live on;
exec ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec
libx264 -vprofile baseline -acodec libvo_aacenc -ac 1 -ar 441000
-f flv rtmp://localhost:1935/hls/${name};
}
}
application hls
{
live on;
hls_path /usr/local/nginx/html/video;
}
}它在浏览器中工作得很好,但是因为我的移动客户端是Adobe Air,它只能在安卓上运行,而不能在苹果上运行,因为苹果不支持通过AIR应用程序进行H264编码,所以我试图将流转换为支持的格式,例如mpeg。这是我如何改变我的ffmpeg的:
exec ffmpeg -re -i rtmp://localhost:1935/$app/$name -vcodec
mpeg2video -acodec copy -b:v 10M -b:a 128k
-f mpegts rtmp://localhost:1935/hls/${name};然而,它不会在浏览器或设备上显示视频,我的假设是它可能无法转码。
也许我错过了什么?任何想法都会受到高度赞赏。谢谢。
发布于 2015-05-21 22:46:30
你可能已经得到了答案,但以防万一:
您未正确使用此模块,1)在iOS上,您需要将浏览器指向http://localhost:80/hls/${name}以获取HLS流。2)配置http部分中缺少用于生成HLS流的内容
详情请看这里:How can we transcode live rtmp stream to live hls stream using ffmpeg?
https://stackoverflow.com/questions/24656553
复制相似问题