簡體   English   中英

使用ffmpeg和nginx-rtmp模塊將H264流轉碼為mpeg2

[英]Transcode H264 stream into mpeg2 with ffmpeg and nginx-rtmp module

我正在使用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,所以只能在Android上運行,而不能在Apple上運行,因為Apple不通過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};

但是,它只是不會在瀏覽器或設備上都不會顯示視頻,我的假設是它可能無法轉碼。

也許我缺少什么? 任何想法都受到高度贊賞。 謝謝。

您可能已經得到了答案,但以防萬一:

您沒有正確使用模塊,1)在iOS上,您需要將瀏覽器指向http:// localhost:80 / hls / $ {name}才能獲取HLS流。 2)您在配置中缺少http部分以生成HLS流

有關詳細信息,請參見此處: 如何使用ffmpeg將實時rtmp流轉碼為實時hls流?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM