0

コードを変更せずに、いくつかのシステム コールで 2 つの Linux プロセスを同期することは可能ですか?

実際の例:v4l2-ctlは、Web カメラの特定のコントロールを設定するために使用できるツールです。いくつかのコントロールを設定するために実行した後ffmpeg、カメラでムービーをキャプチャするために使用されます。ただし、一部のコントロールのみを独自に設定し、他の一部をリセットすると、ffmpegによる慎重な調整が台無しになりv4l2-ctlます。

このツールの 1 つまたは両方を変更して再構築することなく、この問題を解決できると便利です。これは、開始できれば可能ですffmpegが、開いて構成した後に一時停止し/dev/video0(おそらくいくつかのioctlsことが起こりました) v4l2-ctl、設定を適用するために呼び出されます。その後、ffmpeg再開され、適切な設定でキャプチャが開始されます。

1 つのプロセスの操作を追跡し、いくつかのプロセスを簡単な方法で一時停止することは可能ですか?

4

1 に答える 1

1

冒険心があり、デバッグでコンパイルされた を使用することによるパフォーマンスへの影響を気にしないffmpeg場合は、おそらくそれを開始してgdb、開いた後にブレークポイントを設定できます/dev/video0(または他の場所。どちらの方法でもソースが必要です)。

次に、ブレークポイントに達するまでバイナリを実行し、微調整してから、ブレークポイントを超えて続行するようにv4l2-ctl指示できます。ffmpeg

于 2013-03-09T23:17:17.373 に答える