レクチャーレコーディングにタイムスタンプを追加するにはどうすればよいですか?

レクチャーレコーディングにタイムスタンプを追加するにはどうすればよいですか?

オーディオで発生した時間/場所のタイムスタンプを使用して、コピーされたテキストの各段落にタグを付けようとしています。

mplayerそしてemacs私を近づけなさい。 mplayerたとえば、端末から適切な時間情報文字列を出力します。 (コマンドとサンプルログ)

mplayer au-file 1>event.log 2>&1

A:   0.8 (00.7) of 3207.0 (53:27.0)  0.1% [J
A:   0.9 (00.9) of 3207.0 (53:27.0)  0.1% [J
A:   1.0 (01.0) of 3207.0 (53:27.0)  0.1% [J

特定のアンバウンドキー(例F12:)を使用して、ログ内のイベント、特に段落の先頭を表示できます。

xdotool key --window $termID F12

A:   3.1 (03.0) of 3207.0 (53:27.0)  0.1% [J
No bind found for key 'F12'.                         
A:   3.2 (03.2) of 3207.0 (53:27.0)  0.1% [J
A:   3.3 (03.3) of 3207.0 (53:27.0)  0.1% [J

上記は素晴らしい作品です。次に必要なのは注入するライン番号ですevent.logemacs現在の場所を読み取ってログに追加するためにキーをバインドして、内部的にこれら2つのイベントをトリガーできます。emacspoint

はい、推測しましたが、質問があります。mplayer次の行を書き込むときに追加したテキストを上書きするため、ストリームポインタ(または何か?)が保持されているようです。何が起こっているのかわかりませんが、私が追加した行のうち最後のログには何も表示されませんecho $number >>events.log。 。

ログを見ました tail -f events.logが、時々行が出ているのを見るとそこまで行ったようです...

この問題を解決する方法はありますか?
一部のfuログを使用するか、まったく異なるアプローチを使用してください。一部のツールはこれをリアルタイムで実行できます。字幕ツールとオーディオビデオエディタを見てみましたが、あまりにも薄暗いようです。私はどんなアイデアでも開いています。

ベストアンサー1

実際にはmplayerファイルに自分のポインタを保持するので、echoファイルに書き込むときにそれを知りません。ファイルに複数のプログラムを書き込む場合は、すべてのプログラムがファイルを開くようにスケジュールします。追加モード。追加モードでは、各書き込みはファイルの終わりに発生します。シェルで判断すると>>: >events.log再起動するには、空のファイルを作成してmplayer … >>events.log

これは、両方のプログラムのすべてのバイトがファイルに表示されることを保証しますが、原則的に散在しないことを保証するものではありません。理論的には、いくつかのmplayer出力がファイルに表示されることecho hello >>events.logがあります。実際、ほとんどのシステムで最大512バイトを印刷するechoコマンドはフラグメントで終わります。he

おすすめ記事