這里寫目錄標題
- 視頻選項
- `quality`
- `bitrate`
- `intra`
- `profile`
- `level`
- `codec`
- `save-pts`
- `keypress`
- `signal`
- `initial`
- `split`
- `segment`
- `circular`
- `inline`
- `listen`
- `frames`
- `framerate`
文章來源: http://raspberry.dns8844.cn/documentation
原文網址
視頻選項
本節中指定的命令行選項僅適用于視頻輸出。
要將以下選項之一傳遞給應用程序,請在選項名稱前加上 --
, 如果選項需要值,請在選項名稱后立即傳遞該值,并用單個空格分隔。如果值包含空格,請將值用引號括起來。
一些選項有速記別名,例如 -h
而不是 --help
。使用這些速記別名而不是完整的選項名稱可以節省空間和時間,但會犧牲易讀性。
quality
別名: -q
默認值: 50
接受1到100之間的MJPEG質量級別。僅適用于以MJPEG格式編碼的視頻。
bitrate
別名: -b
以每秒比特數控制H.264編碼器使用的目標比特率。僅適用于以H.264格式編碼的視頻。影響輸出視頻的大小。
示例: rpicam-vid -b 10000000 --width 1920 --height 1080 -o test.h264
intra
別名: -g
默認值: 60
設置H.264比特流中Iframe(幀內幀)的頻率。接受一定數量的幀。僅適用于以H.264格式編碼的視頻。
profile
設置H.264配置文件。接受以下值:
baseline
main
high
僅適用于以H.264格式編碼的視頻。
level
設置H.264級別。接受以下值:
4
4.1
4.2
僅適用于以H.264格式編碼的視頻。
codec
設置用于視頻輸出的編碼器。接受以下值:
h264
- 使用H.264編碼器(默認)mjpeg
- 使用MJPEG編碼器yuv420
- 輸出未壓縮的YUV420幀。libav
- 使用libav后端編碼音頻和視頻(有關詳細信息,請參閱libav
)
save-pts
WARNING: Raspberry Pi 5不支持 save-pts
選項。改用 libav
自動生成容器格式的時間戳。
啟用幀時間戳輸出,允許您使用 mkvmerge
等工具將比特流轉換為容器格式。接受時間戳輸出文件的文件名。
示例: rpicam-vid -o test.h264 --save-pts timestamps.txt
然后,您可以使用以下命令從比特流和時間戳文件生成MKV容器文件:
$ mkvmerge -o test.mkv --timecodes 0:timestamps.txt test.h264
keypress
別名: -k
允許 CLI 使用 Enter 鍵啟用或禁用視頻輸出。除非使用 initial
另行指定,否則始終以記錄狀態啟動。鍵入 x
鍵并按 Enter 退出。不接受數值。
signal
別名: -s
允許CLI使用 SIGUSR1
啟用和禁用視頻輸出。使用 SIGUSR2
退出。除非使用 初始
另有說明,否則始終以錄制狀態開始。不接受值。
initial
默認值: record
指定是啟用還是禁用視頻輸出來啟動應用程序。接受以下值:
record
:從啟用視頻輸出開始。pause
:從禁用視頻輸出開始。
將此選項與 keypress
或 signal
配合使用,可在兩種狀態之間切換。
split
使用 keypress
或 signal
切換錄制時,會將不同錄制會話的視頻輸出寫入不同的文件。不接受值。除非與 xref:camera_software.adoc#output[output
] 結合使用,為每個文件指定唯一的名稱,否則每次寫入文件時都會覆蓋。
segment
將視頻輸出剪切為多個文件,文件長度與所傳遞的時間長度相同。接受以毫秒為單位的持續時間。如果傳入的持續時間很小(例如 “1”),則會將每一幀記錄到單獨的輸出文件中,以模擬突發捕捉。
您可以使用字符串格式為每個文件指定單獨的文件名,例如 --output test%04d.h264
。
circular
默認值: 4
將視頻記錄寫入內存中的循環緩沖區。應用程序退出時,將循環緩沖區記錄到磁盤。接受以兆字節為單位的可選大小。
inline
在每個 Iframe(幀內)寫入序列頭。這可以幫助客戶端從視頻中的任意點解碼視頻序列,而不只是從開頭解碼。建議與 segment、split、circular 和流媒體選項一起使用。
僅適用于以H.264格式編碼的視頻。不接受值。
listen
在編碼視頻之前等待傳入的客戶端連接。用于通過TCP/IP進行網絡流傳輸。不接受值。
frames
準確記錄指定的幀數。任何非零值都會覆蓋 timeout。接受非零整數。
framerate
準確記錄指定的幀率。接受非零整數。