-
Notifications
You must be signed in to change notification settings - Fork 986
fix: ship with ffmpeg #1641
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
fix: ship with ffmpeg #1641
Conversation
Someone is attempting to deploy a commit to the louis030195's projects Team on Vercel. A member of the Team first needs to authorize it. |
🧪 testing bounty created!a testing bounty has been created for this PR: view testing issue testers will be awarded $20 each for providing quality test reports. please check the issue for testing requirements. |
used as resource, according to this screenpipe/screenpipe-core/src/ffmpeg.rs Line 83 in c43219f
& at windows ffmpeg is already being shipped |
https://master.dl.sourceforge.net/project/avbuild/macOS/ffmpeg-7.0-macOS-default.tar.xz?viasf=1 the default macos version of ffmpeg causing this broken pipe error i think we should ship ffmpeg same as the sidecar does |
that version of ffmpeg doesn't supports bin ffmpeg -i input.mp4 -vcodec libx264 -preset fast output.mp4
ffmpeg version 786d4af-avbuild Copyright (c) 2000-2024 the FFmpeg developers
built with Apple clang version 16.0.0 (clang-1600.0.26.3)
configuration: --extra-version=avbuild --disable-doc --disable-debug --enable-shared --enable-runtime-cpudetect --disable-vulkan --enable-libxml2 --disable-libxcb --disable-xlib --disable-postproc --enable-cross-compile --arch=a
rm64 --target-os=darwin --install_name_dir='@rpath' --cc=clang --enable-pic --extra-cflags='-I=/usr/include/libxml2 -arch arm64 -mmacosx-version-min=11.0' --extra-ldflags='-arch arm64 -mmacosx-version-min=11.0 -Wl,-dead_strip -Wl,
-rpath,@loader_path -Wl,-rpath,@executable_path/../Frameworks -Wl,-rpath,@loader_path/Libraries -Wl,-rpath,@loader_path/../lib'
libavutil 59. 8.100 / 59. 8.100
libavcodec 61. 3.100 / 61. 3.100
libavformat 61. 1.100 / 61. 1.100
libavdevice 61. 1.100 / 61. 1.100
libavfilter 10. 1.100 / 10. 1.100
libswscale 8. 1.100 / 8. 1.100
libswresample 5. 1.100 / 5. 1.100
Unrecognized option 'preset'. |
https://github.com/nathanbabcock/ffmpeg-sidecar/blob/main/src/download.rs#L31 I tested the https://www.osxexperts.net/ffmpeg7arm.zip it has support for -preset //Intel Macs --> ffmpeg ==> https://www.osxexperts.net/ffmpeg71intel.zip // Silicon Macs --> ffmpeg ==> https://www.osxexperts.net/ffmpeg71arm.zip |
@louis030195 here is the PR for Linux #1643 |
yes, i did same as the ffmpeg-sidecar does |
can someone test on blank macos vm the app build and make sure screenpipe works and use this ffmpeg |
ffmpeg is same as the sidecar's ffmpeg, just need to ensure about ffprobe |
still won't merge until i have screen recording on a blank vm which shows it works |
could you test it on mac vm? |
sure.. |
also i'd appreciate merging this today / tomorrow before hackathon happy to provide tips/bounties for any help |
i've tested a build on my machine, lets see what @kumarvivek1752 says! |
@tribhuwan-kumar @louis030195
screencast of my testing: 2025-03-27.08-58-55.movafter building |
did you check the ffprobe? is there any error |
@tribhuwan-kumar added to all
logs:
|
cc: @louis030195 |
the test was supposed to be:
|
I'm testing it myself!! |
https://drive.google.com/drive/folders/1aSuiD34ImC6xbfz2J1J7NIB0hZW_kPZP?usp=sharing this drive folder includes the .dmg build and a demonstration video |
just doing this now myself:
|
I think the apple requires some license. that's why that dmg complaints about being corrupt. try building yourself it'll not take too much time |
is that a clean, fresh VM? |
no, but there is no ffmpeg installed in that machine |
screenpipe throws an error in the logs as it still seems to try to fetch ffmpeg, but I can confirm that the fresh vm without ffmpeg does indeed capture video. I'll upload a video in a moment. |
what's the error?? can you share log? |
Of course! both logs are attached, but screenpipe-app.2025-03-30.log Also, an important note... went back into the vm and did a "which ffmpeg" again, still nothing on PATH.. but figured I should maybe double check to see if there is a binary in indeed there is an ffmpeg (that's been downloaded?) there... It should be be bundled into the screenpipe binary as of this pr, right? Do you also have a standalone ffmpeg binary in |
the ffmpeg you're seeing in git remote add upstream [email protected]:mediar-ai/screenpipe.git #assuming you've ssh setup
git fetch upstream
git fetch upstream pull/1641/head:test-1641 #fetch this pr
git checkout test-1641 #checkout the pr branch
git merge upstream/main #merge it with latest screenpipe the other way you can ensure is your local branch should include the change of this pr |
@tribhuwan-kumar I'd like to thank you for providing a better workflow to get me to where I needed, and want to apologize for making what seems to be an incorrect assumption: forking the repo you pushed the PR from I guess isn't equal to cloning screenpipe main and doing a git checkout on the pr(?). A bit embarrassing to have wasted your time and concern. It does indeed look like ffmpeg is bundled properly and is working on macOS - well done! Thought the pr had an issue for about an hour though as nothing started recording until a TTS model was available and I gave my terminal permissions to accessibility/microphone/screen sharing ... which frankly was a bit surprising to have to do. |
no worries @lessuselesss
can you provide a screen recording?
also, can you ensure that it should download only model not the ffmpeg? |
I'll go get some wifi so I can show you what I'm seeing here now (...it's not recording anything atm).
Can you phrase this a different way, I'm not sure I follow. |
screenpipe requires a model to transcribe audio & ocr, so when that model isn't available locally, it'll download that model,
|
@tribhuwan-kumar - that all makes sense, o, thats basically |
@lessuselesss any updates? |
@tribhuwan-kumar For sure! I just got it working...
I understand the logic behind this, when everything is ready to start populating the db then its good to go I guess the only feedback I have is that, while yes there is a mention that all models need to be downloaded when going through the onboarding. The UX is never explicit about which models are needed, currently available, or what's left to bootstrap the rest. Everything was giving me a green light last night after I just ran the cli command ... then red after rebooting... then today was spent with me trying to find out why every 3-5 seconds I was being re-prompted to give accessibility permissions with zero indication of why (they were already approved) Anyway, I'll be less windy here and maybe put in a suggestion that, if permissions are granted but models that embed/process said inputs aren't available, maybe we could be using a yellow circle 🟡 with a tooltip? I hope I get better at this lol, thanks for your help |
@lessuselesss if you're facing permission issue, try revoking and giving permission again |
Indeed I did that. It didn't make a difference until the Ollama was actually serving a model. |
so any update?? is it writing the video & audio files ot not? |
I just uploaded the the screencasts to YouTube, my apologies it's taken so long to get back about this. I went through the instructions in the Testing bounty, but wasn't able to complete the meeting portions due to constraints. |
@lessuselesss could you provide that youtube video link? |
I thought I'd included it in the testing bounty submission, my bad! https://youtube.com/playlist?list=PLZ_V08C5xK4MewGwEjk9TCKRq5FqIYnEJ&si=DOC5V4l5Dl4Q-agb If this is fine, may I go ahead with running the same testing regimen on Windows? If you have other feedback please let me know. |
cc: @louis030195 |
Hello, I'm trying to build the desktop app the pre_build scripts seem to be trying to reference npm(?
Installing npm via bun gets me further but its still failing to build.
It still fails to build, If anyone eose was able to build this on window and would be willing to share the exe so I'm able to test it, please let me know. |
/claim #1640
need to tested it by building on windows
description
brief description of the changes in this pr.
related issue: #
how to test
add a few steps to test the pr in the most time efficient way.
if relevant add screenshots or screen captures to prove that this PR works to save us time (check Cap).
if you are not the author of this PR and you see it and you think it can take more than 30 mins for maintainers to review, we will tip you between $20 and $200 for you to review and test it for us.