We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
モノラル設定で Streamlabs から nginx に配信し、RTMP フェッチでチャンネルを立てた場合、音声が再生されなかった。
The text was updated successfully, but these errors were encountered:
ヘッドパケットにつめこむFLVタグの判定基準において、音声のヘッダーが、ステレオのAACだと決め打ちされていた。
if (flvTag.data[0] == 0xaf && flvTag.data[1] == 0x00)
(第1バイトの上位ニブルが Ah であることは AAC フォーマットであること、下位ニブルが Fh であることは 44KHz 16bit ステレオであることを表わす。第2バイトが 0 であることは、ペイロードが AAC シーケンスヘッダーであることを表わす。)
結果として、上記以外の音声形式の場合音声ヘッダーが認識されず、ヘッドパケットに入れられないので、音声が再生されないという現象が起こっていた。
3153b5b にて、最初のAUDIODATAタグは常にヘッダーとして扱うように変更した。
また、VIDEODATAタグについても同様の決め打ちがなされていた。
if (flvTag.data[0] == 0x17 && flvTag.data[1] == 0x00 && flvTag.data[2] == 0x00 && flvTag.data[3] == 0x00)
(最初の3バイトは、キーフレーム、フォーマットがAVCのシーケンスヘッダーであることを示す。4バイト目は AVCDecoderConfigurationRecord がバイト0で始まることを示すが、これの意味はわからない。)
これも音声の場合と同様に変更した。
参考:
FLV spec
Sorry, something went wrong.
No branches or pull requests
モノラル設定で Streamlabs から nginx に配信し、RTMP フェッチでチャンネルを立てた場合、音声が再生されなかった。
The text was updated successfully, but these errors were encountered: