mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-11-22 00:03:55 +01:00
phone: Move pinephone video script to separate package
Now it's possible to use the video recording script outside of fish.
This commit is contained in:
parent
58e227efc0
commit
5df2225472
@ -47,30 +47,7 @@ in
|
|||||||
;
|
;
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
programs = {
|
programs.man.generateCaches = mkForce false;
|
||||||
fish.functions.video = # fish
|
|
||||||
''
|
|
||||||
${pkgs.v4l-utils}/bin/media-ctl -d1 --links '"gc2145 3-003c":0->1:0[0],"ov5640 3-004c":0->1:0[1]'
|
|
||||||
${pkgs.v4l-utils}/bin/media-ctl -d1 --set-v4l2 '"ov5640 3-004c":0[fmt:UYVY8_2X8/1280x720@1/30]'
|
|
||||||
|
|
||||||
ffmpeg \
|
|
||||||
-input_format yuv420p \
|
|
||||||
-s 1280x720 \
|
|
||||||
-f video4linux2 \
|
|
||||||
-thread_queue_size 4096 \
|
|
||||||
-i /dev/video1 \
|
|
||||||
-f pulse \
|
|
||||||
-thread_queue_size 256 \
|
|
||||||
-i alsa_input.platform-sound.Voice_Call__DigitalMic__source \
|
|
||||||
-c:a libopus \
|
|
||||||
-c:v libx264 \
|
|
||||||
-preset ultrafast \
|
|
||||||
-qp 23 \
|
|
||||||
"$(date '+%x(%a)%R').mp4"
|
|
||||||
'';
|
|
||||||
|
|
||||||
man.generateCaches = mkForce false;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg = {
|
xdg = {
|
||||||
desktopEntries = {
|
desktopEntries = {
|
||||||
|
72
packages/pinephone-scripts.nix
Normal file
72
packages/pinephone-scripts.nix
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
lib,
|
||||||
|
stdenvNoCC,
|
||||||
|
writeTextFile,
|
||||||
|
makeWrapper,
|
||||||
|
fish,
|
||||||
|
v4l-utils,
|
||||||
|
ffmpeg,
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
pinephone-video = writeTextFile {
|
||||||
|
name = "pinephone-video";
|
||||||
|
text = # fish
|
||||||
|
''
|
||||||
|
media-ctl -d1 --links '"gc2145 3-003c":0->1:0[0],"ov5640 3-004c":0->1:0[1]'
|
||||||
|
media-ctl -d1 --set-v4l2 '"ov5640 3-004c":0[fmt:UYVY8_2X8/1280x720@1/30]'
|
||||||
|
|
||||||
|
ffmpeg \
|
||||||
|
-input_format yuv420p \
|
||||||
|
-s 1280x720 \
|
||||||
|
-f video4linux2 \
|
||||||
|
-thread_queue_size 4096 \
|
||||||
|
-i /dev/video1 \
|
||||||
|
-f pulse \
|
||||||
|
-thread_queue_size 256 \
|
||||||
|
-i alsa_input.platform-sound.Voice_Call__DigitalMic__source \
|
||||||
|
-c:a libopus \
|
||||||
|
-c:v libx264 \
|
||||||
|
-preset ultrafast \
|
||||||
|
-qp 23 \
|
||||||
|
"$(date '+%x(%a)%R').mp4"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
in
|
||||||
|
stdenvNoCC.mkDerivation {
|
||||||
|
pname = "pinephone-scripts";
|
||||||
|
version = "0.1.0";
|
||||||
|
|
||||||
|
dontUnpack = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ makeWrapper ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
install -Dm755 ${pinephone-video} $out/bin/pinephone-video
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
postInstall = ''
|
||||||
|
for bin in $out/bin/*; do
|
||||||
|
wrapProgram "$bin" \
|
||||||
|
--prefix PATH ":" "${
|
||||||
|
lib.makeBinPath [
|
||||||
|
fish
|
||||||
|
v4l-utils
|
||||||
|
ffmpeg
|
||||||
|
]
|
||||||
|
}"
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = "https://github.com/donovanglover/nix-config";
|
||||||
|
description = "PinePhone-specific scripts like video recording";
|
||||||
|
license = lib.licenses.mit;
|
||||||
|
maintainers = with lib.maintainers; [ donovanglover ];
|
||||||
|
platforms = lib.platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user