今日はWindowsでのみ利用可能な製品です。オーバーウルフリプレイHUD、ユーザーはキーを押して、過去20秒間に何が起こったのかを画面で再生できます。素早く進行するビデオゲームをしたり視聴したり、忙しい瞬間を素早く復習したい人に適しています。
Linuxでこの動作を複製しようとしています。これまでは、ffmpeg
ファイル(メモリマッピング)でキャプチャを簡単に起動(使用)し-f x11grab
てから使用できると思います。/tmp
sxhkd
キーボードショートカットをバインドして実行mpv
ファイルの最後の20秒を再生します。
ただし、残りの録音内容は保存され続け、最終的にメモリが不足します。最後の20秒だけどのように保つことができますか?
答え1
セグメントマルチプレクサが動作します。
ステップ1:
ffmpeg -i input force_key_frames expr:gte(t,n_forced*4) -c:v libx264 -c:a aac -f segment -segment_time 4 -segment_wrap 6 -segment_list list.m3u8 -segment_list_size 6 seg%d.ts
これにより、録音内容が4秒単位で保存されます。 6つのセグメントが書き込まれると、次のセグメントは最初のファイルを上書きします。これにより、プレイリストが更新されます。
ステップ2:
ffmpeg -i list.m3u8 -c copy video.mp4
または
ffplay list.m3u8
保存された画像の持続時間はです20 < duration < 24
。
答え2
OBSは、ニーズに合わせて設定可能な再生バッファを提供します。