ffmpegを使用して、ライブストリームをエンコードしてFlashMediaServerに公開したいと思います。iOSデバイスをサポートするには、HTTPライブストリーミングも実装する必要があります。ビデオはH.264形式である必要があり、オーディオはAACである必要があります。私はffmpegを使った経験があまりなく、これを機能させるのに苦労しています。これは私が試したコマンドです(そしていくつかのバリエーションもあります):
ffmpeg.exe -threads 15 -f dshow -i video="USB2.0 UVC WebCam":audio="Microphone (Realtek High Defini" \
-map_channel 0.1.1 -r 24 -acodec libvo_aacenc -ar 22050 -ab 128k -vcodec libx264 \
-s vga -vb 100k -f flv "rtmp://<public-dns>/livepkgr/livestream1?adbe-live-event=liveevent" \
-r 24 -acodec libvo_aacenc -ar 22050 -ab 128k -vcodec libx264 -s qvga -vb 200k \
-f flv "rtmp://<public-dns>/livepkgr/livestream2?adbe-live-event=liveevent" \
-r 24 -acodec libvo_aacenc -ar 22050 -ab 128k -vcodec libx264 -s vga -vb 350k
-f flv "rtmp://<public-dns>/livepkgr/livestream3?adbe-live-event=liveevent"
これを実行すると、FMSに接続しているように見えますが、ドロップされたフレームに関する多くのエラーメッセージが表示されます。フレームが正常にエンコードされているかどうかはわかりません。私のCPU使用率も非常に高いです。個々のストリームの1つに*.m3u8ファイルのURLを入力すると、FMSから404エラーが発生します(ただし、メインのlivestream.m3u8ファイルにはアクセスできます)。また、FMSの代わりにファイルに出力しようとしましたが、成功しませんでした。私が得るのは、非常に文字化けした音だけで、ビデオはありません。
これを機能させるために使用する必要があるオプション/コマンドに関する提案はありますか?FMSでffmpegを使用してMP4ビデオでHTTPダイナミックストリーミング/HLSを実行している人はいますか?私はしばらくの間HDS/HLSを機能させるのに苦労してきました、そしてどんな助けでも大いに感謝されます!違いはないはずですが、私はAmazonEC2でAMIイメージを使用してFMSを使用しています。
ありがとう!