ホームページ >バックエンド開発 >Golang >Golang が Run() を使用して実行したコマンドが返されない

Golang が Run() を使用して実行したコマンドが返されない

WBOY
WBOY転載
2024-02-06 10:12:03861ブラウズ

Golang 使用 Run() 执行的命令没有返回

質問内容

youtube-dlとffmpegを使って音楽ストリーミングサービスを作ろうとしています。ユーザーがビデオ URL を含む POST リクエストを送信すると、ハンドラー コードは次のように動作します。 リーリー

ffmpeg と youtube-dl を使用してパイプラインを作成しました。テスト段階で POST リクエストを送信しましたが、リクエストは完了しませんでした。ログを見ても「Complete----------------」とは表示されません。プロセスが行き詰まっているように思えます。あなたはなにか考えはありますか?私の使い方は正しいでしょうか?


正解


これはかなり近いです。

*io.PipeWriterも閉じる必要があります。

そうでない場合、

ffmpeg はより多くのデータを渡すことができると考えます。これはプログラム内では EOF として表示されます。

これは、代わりに

echocat を使用してまとめた実行可能な例です。新しい defer w.Close(): をコメント アウトすることで問題を再現できるはずです。 リーリー

以上がGolang が Run() を使用して実行したコマンドが返されないの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。