Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "ffmpeg"
-
This is my first IoT project. It's pretty simple, but I've been very happy with the results thus far.
About this time last year, someone got into our garage and rifled through my wife's car.
I have a camera in my garage, and a Phillips Hue motion detector. Using the Hue's excellent API, I have a perl script that checks for motion every couple of seconds, and starts capturing from the camera via RTSP if it does. That video is then staged, ready to be uploaded to a digital ocean droplet if I click on a link in the mailgun-powered email that's then sent to me and my wife, along with a preview GIF of the video, created through the same ffmpeg process that pulled the capture from the camera.
Here you can see me getting home from work.20 -
I decided to setup a little server on my local network just to make use of a 2TB harddrive I use to store videos.
Told everyone in the house I planned to grow the library over time and that they could access it all in a browser using my system name. It's become quite a fun venture and my video library is shaping up nicely.
Using nginx on a Dell XPS 17 with Ubuntu 16.04 to host a server that just auto indexes a shared directory on my external 2TB harddrive. Kind of an embarrassing rig, but it's just a hobby activity and I do plan to upgrade shit later.
The real fun has been getting to understand a bit more about video files. They used to be magic to me, as complex as their file extension. Now I run a script on all of my torrents which checks the video and audio codecs, converting them if they aren't supported by Chrome's and Firefox's web players, and outputting mp4s using ffmpeg. I feel like I have this stuff down fairly well now. Becoming more and more automated.
Next step is to port forward so I can access it from anywhere, but we'll see about that later down the line.22 -
Fucking hell, that's now the fourth time in a row that I see my clients getting ripped a second asshole by previous developers, this one charged 1500$ for a "python script" that only calls ffmpeg with couple args, claiming tons of shit like the video being e.g. better quality after conversion - even though all it does, is a straight convert from one format to another. (no filters, anything, just a convert) I feel always so terribly bad discovering that shit and them proudly telling me about the "solution" they invested in..4
-
Alright, so my previous rant got a way better response than I expected! (https://devrant.io/rants/832897)
Hereby the first project that I cannot seem to get started on too badly :/.
DISCLAIMER: I AM NOT PROMOTING PIRACY, I JUST CAN'T FIND A SUITABLE SERVICE WHICH HAS ALL THE MUSIC I WANT. I REGULARLY BUY ALBUMS. before everyone starts to go batshit crazy regarding piracy, this is legal in The Netherlands for personal use. I think that supporting the artists you love is very good and I actually regularly pay for albums and so on but:
- I want all the music from about every artist in my scene. Either on Deezer or on Spotify this is not available and I'm not gonna get them both (they both have about half of the music I want). Their services are awesome but I'm not going to pay for something if I can't listen to all the music I like, hell even some artists (on deezer mostly) only have half their music on there and it's mostly not better on Spotify.
- I'd happily buy all albums because I love supporting the artists I love but buying everything is just way too fucking much."Get a premium music streaming subscription!" - see the first point.
You can either agree or disagree with me but that's not what this rant is about so here we go:
The idea is to create a commandline program (basically only needs to be called by a cron job every day or so) which will check your favourite youtube (sorry, haven't found a suitable non-google youtube replacement yet) channels every day through a cronjob and look for new uploads. If there are, it will download them, convert them to MP3 or whatever music format you'd like and place them in the right folder. Example with a favourite artist of mine:
1. Script checks if there are any new uploads from Gearbox Digital (underground raw hardstyle label).
2. Script detects two new uploads.
3. Script downloads the files (I managed to get that done through the (linux only or also mac?) youtube-dl software) and converts them to mp3 in my case (through FFMPEG maybe?).
4. Script copies them to the music library folder but then the specific sub-folder for Gearbox Digital in this case.
You should be able to put as many channels in there as you want, I've tried this with the official YouTube Data API which worked pretty fine tbh (the data gathering through that API). The ideal case would be to work without API as youtube-dl and youtube-dlg do. This is just too complicated for me :).
So, thoughts?43 -
*wants to download some YouTube videos in youtube-dl*
$ youtube-dl --a-bunch-of-options
> Can't download this, sorry.
*realizes that Ubuntu probably has an outdated version like usual*
# apt remove youtube-dl
*Realizes that this steaming pile of shit pulled in some icons and Wayland on a headless server*
# apt autoremove
> 300-something MB cleared
For a command-line tool...
# pip install youtube-dl
# apt install ffmpeg
$ youtube-dl --audio-format mp3 -o "%(title)s.%(ext)s" https://youtube.com/playlist/...
> Sorry mate, a video was removed from this playlist! Let me go ahead and shit the bed on this issue that's been reported several times since 6 years ago.
*finds an issue on GitHub reporting this, add -i option to continue on error*
$ youtube-dl --audio-format mp3 -o "%(title)s.%(ext)s" https://youtube.com/playlist/... -i
> There you go, your .webm files as requested!
But.. I requested .mp3 output? --audio-format mp3, don't you see?
> Oh no you need to add in another option to tell me to actually do that first. --extract-audio, you see?
But why.. why do you need to be told that twice? Oh ffs, fuck it.
Reminds me of robocopy. That shit required me to tell it 25 times what to do and it'd still not do it right as well. And you know what, compared to rsync where -avz works 99% of the time, I hate it.7 -
Current status: i should have gone to bed hours ago and there are other things i need to do, but right now i'm compiling ffmpeg in a docker container10
-
Needed to convert a collection of .avi videos to .mp4. Online converters only allow 1-2 videos at a time, with slow uploads, so no option.
Can't find a program that quickly fulfills my needs. Interesting ... 🤔
Look for python and a quick and dirty solution, ffmpeg and subprocess it shall be then.
Install ffmpeg, run subprocess with ffmpeg, put it inside a for loop, iterate over all videos with their respective number. Done.
3 lines of code, saved some time.
It's great to be a developer (sometimes).😏16 -
ffmpeg...
I FUCKING LOVE YOU!!
I CAN JUST STACK THOSE FILTERS WITH NO RESTRICTIONS OVER AND OVER WITH DIFFERENT INPUTS AND OUTPUTS!!
Also: it fucking works with still images, AND IT’S FUCKING FAST!!
It’s around FOUR (4, DO YOU REALISE THE IMPROVEMENT) times faster to GAUSSIAN blur an image and then composite an image over it with ffmpeg, than to composite the image with imagemagick (no blurring)!!3 -
!rant
This is a major part of my workflow, and I wanted people to see it. So I went an inch-deep on quicktime screen recording and ffmpeg flags to produce this low-quality gif.
I pop open the alfred text window with cmd-space, and have it set to use DDG as my default search provider fallback. In this way, I'm able to execute bang-searches without having to load any urls, or even move the pointer.
What kinds of productivity/workflow tricks do you use?14 -
So I've been working on this user friendly yet advanced youtube-dl GUI.
This is my current stage on the UI side. The program automatically downloads the latest releases of youtube-dl and ffmpeg.
What do you guys think? Do you like it? I'm open to suggestions.16 -
If can pick one it probably will be Fabrice Bellard.
Why ?
QEMU, FFmpeg
Anyway everyone who contribute to open source community deserves to be famous. -
I am sick of misrotated videos.
Sometimes, the phone camera software saves a video vertically because the user hits "record" before the software has detected that the user is holding the smartphone horizontally, because the software stupidly launches in vertical orientation by default.
So the software wants the user to wait until it has finally detected horizontal orientation, which causes the user to miss out on a moment.
How about the camera software actually saves the video in the orientation it was recorded in for the most time, rather than only the beginning of the video?
If I can think of this idea, billion-dollar companies surely can.
In the meantime, misrotated videos can be fixed using this ffmpeg command on Linux or Windows:
ffmpeg -i input_file.mp4 -metadata:s:v rotate="0" -c copy output_file.mp4
And if the phone was held with the home button to the left side:
ffmpeg -i input_file.mp4 -metadata:s:v rotate="180" -c copy output_file.mp4
This solution is superior compared to using -vf (video filters) because it only touches the metadata of the video. No re-encoding. This means no quality loss and no CPU/GPU power needed to process the video again. It just passes through.10 -
"Ok, let's see what ffplay offers us ... "
* enters 'ffplay -h' into console *
holy...
freaking....
cow.......
(it's still running while writing this "rant") -
Recently I experienced a feeling of being fed up with the screenshot tools on Linux.
There's a build in one in Kubuntu called "Spectacle" which isn't really that much of a spectacle as it pushes my displays to the left until there's nothing left on my second screen and half of my first screen is missing.
There's Shutter, which has always been slow for me. Plus there's the fact that the cursor in "capture rectangle" mode is hard to see for me :v
There's Kazam which doesn't seem to allow me to select a save path from the terminal.
There are others of course, but I wasn't really going to bother and instead decided to ask myself "how hard would it be to make my own?"
Turns out not hard at all :v
I now have a screenshot tool which is fast, small, takes region captures and takes window captures.
I guess next step (if I can be bothered) is to set up slop+ffmpeg to do screen recordings
https://github.com/inabahare/...5 -
Last internship : I learned modern opengl, libav and ffmpeg. I even was the only dev on some big contracts. Was a fucking cool internship because I learned everything I wanted to. But my manager had really low social skills. So been able to teach myself all of that was a good thing for everybody, but not for him. When the internship was over I got the worst mark of my promotion for the business with for comment that I didn't enough ask for help Oo wtf dude. Still get the best final markof the promotion and the only one who didn't work on web technologies :p but fuck you should have tell me sooner man...2
-
TFW idiots use FFmpeg without looking at the license, and then spend two months compiling it themselves.2
-
A cool bash shell script to download (cut) a portion of video from youtube. It depends on youtube-dl and avconv/ffmpeg tools which can be installed from the distribution.
Bash Shell Script (can be named as ytcut):
Note: No error handing implemented
#!/bin/bash
#set -x
_yt_id="$1"
_yt_start_time="$2"
_yt_end_time="$3"
#_yt_format_id="bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio"
# use youtube-dl -F <video id> to get the list of formats available
# Using format id as 22 as the above one didn't work.
_yt_format_id=22
_yt_time_selection_opts="-ss ${_yt_start_time}"
_yt_time_selection_opts="${_yt_time_selection_opts} -to ${_yt_end_time}"
_yt_url=$(youtube-dl -f ${_yt_format_id} -g "${_yt_id}")
_yt_filename=$(youtube-dl --get-filename --restrict-filenames -f ${_yt_format_id} "${_yt_id}")
avconv -y -nostats -loglevel 0 -i "${_yt_url}" ${_yt_time_selection_opts} -codec copy "file:${_yt_filename}"
Example Usage:
ytcut 3dWrKNrWbWQ 0:40 1:402 -
!rant
TL;DR I want to add a vcodec to FFmpeg but don't understand the how or haven't found the right resources yet.
I just learned the very basics recently and thought it is great for some automation.
For now, I want to use it to compress my anime collection. I found a modded version of HEVC (x265) for anime, which I want to include as vcodec. Unfortunately, even after researching it a bit, I don't understand how to do so. Does somebody here know how to do it?
Modded HEVC.
Warning: Readme.me contains anime images
https://github.com/msg7086/...5 -
I downloaded a youtube stream with a tool i found on reddit. When I try to play it with VLC it tells me that the moov atom is missing. The file is ~110Mb so there is video data in it, I just don't know how to play it. Can anyone help?7
-
NO ONE'S GIFFED THIS YET?
ok how does ffmpeg work
*takes 3 hours to figure out crop window was invalid since it never tells you*
and it's even applicable. Wonderful.
EDIT: wow devrant makes this look like shit, it's not even at 60FPS anymore2 -
I'm trying to stand up a docker container to read a storage queue with dotnet and invoke ffmpeg to convert some videos. For a whole day I fought with this wrapper (FFMpegCore) which kept throwing file not found errors on the ffmpeg binary itself. Locally (windows) it worked fine.
I spent a ton of time trying to install the Debian package, trying to add it to the path manually, trying to just use the wrapper just to generate the arguments I wanted (I'm not an ffmpeg pro, so the fluent API the wrapper has is super useful) and running it manually, nothing worked. Finally, I realized it wasn't getting to the part where I ran it manually: just using the fluent API to get the arguments was invoking ffmpeg and throwing.
I took away the wrapper completely, start ffmpeg manually and it works...
Ay carumba. Things just can't be easy.2 -
for me, the most interesting project I''ve worked on was 4 years ago for a beer company.
it was a facebook app developed in HTML (not html5), jQuery & jQuery hi, php, imagick, ffmpeg, & YouTube library.
for the Euro Cup, users had elements to drag and drop on a stage, add frames, dialog boxes, and create a 15 second animated story board. all positions of these elements along with the frames where sent server side to create images of each frame (rendering fronts and positioning), then combining them using ffmpeg to generate a video.
these videos were later uploaded on the client's YouTube channel.
this project was awesome, knowing css3 and html5 were prohibited to use due to cross browser compatibility. it was ban exercise on all levels :) -
asl v0.1.3 has been released!
Full Windows compatibility and way lower timelapse times. Probably the best release so far.
Go on, pip install asl-screenlapse
(Way off target of https://devrant.com/rants/2251757/...)
Also probably the last cos you can just oneline it with ffmpeg: x11grab, speedup, direct output to file. So I'll write asl.sh. So simple I deserve no credit.
https://github.com/skuzzymiglet/...
https://pypi.org/project/...
https://github.com/skuzzymiglet/asl -
so yeah all i wanted to do was to install ffmpeg and it starting bitching about some dependancy errors and when i tried to fix it, i ended up wrecking my whole system because i started to play around with the sources list....
FUXK FUCK FUCK FUCK FUXKDJXHSISBSKSHAKXHKDHDUXODKCHSJDNSHDH FUCKKKK YOUUUUUUUUU IM SO TEMPTRD TO FORMAT THE WHOLE LAPTOP BECAUSE OF THIS SHIT FUCK7 -
literally the last fucking thing i need to work for my mvp is ffmpeg to fucking work. i literally need to add audio at various start times in the video, sounds so easy right? too bad its a complex, cryptic, and horrible peice of shit.
no wonder stackoverflow is full of ffmpeg garbage
imaging writing a novel to run some audio / image editing commands, jesus christ
🤡🤡🤡🤡🤡
still at it 3 hours later, this should NOT be that hard ITS ALMOST FUCKING MIDNIGHT NOW YOU DUMB FUCKS FUYCK YOU FOR BUILDING THE MOST CONVOLUTED FUCKING SHIT EVER GOD I. AM. SO. SICK. OF. SHIT. LIBRARIES. WITH. SHIT. DOCS. SHIT. USERS. AND BULLSHIT. NO. FUCKING. SENSE. APIS.2 -
// new Rant("help needed!")
I really need some help guys! Would be nice if you could checkout
http://stackoverflow.com/questions/...
and help me out if possible :) Got some problems with ffmpeg on OS X not streaming https urls.
And if these kind of rants aren't supposed to be posted/created please tell me so. I am still not familiar with the overall flare of this community ;)8 -
v0.1.2.1 has been released! (bumped lat number cos pypi doesn't allow overwriting files even if release is deleted)
Screenshots work on Windows, and in v0.1.3 timelapses will work too, with ffmpeg bindings, so go on and download and update next week (my target for v0.1.3)!
https://github.com/skuzzymiglet/...
https://github.com/skuzzymiglet/asl -
Hi everyone
Please do you know an alternative of ffmpeg in nodejs?
A standalone video editing library4 -
Searching for a solution to an issue related to FFMPEG and all the Stackoverflow related questions have 1 or 2 answers that are completely miles away from solving the issue. Superuser, not helping also.
I am going back to the farm for sure.2 -
see now this is the f-ing shit that pisses me off.
There is this project named dain.
One time I made a project that dropped frames using opencv or ffmpeg i can't remember, creating a test output file and ran them through dain to benchmark it for myself.
alot of things just like this actually I tended to do to get a better sense. Its the reason I abandoned the NN since I think I have a feel for how to design them for certain tasks and remember that with my 'successes' i was still really far off from where i'd like to be.
additionally there are other kinds of ml that interest me more that I am not seeing too much on... point is
I worked all this crap out
got wavenet working to check on it YEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARS ago and because the dirty fucks out west kept stealing my stuff, i end up back at square one waiting for some douchebag to steal my stuff again who isn't even going to do anything but pretend he's straight or pretend everything has some faggot meaning. its very annoying. why do these people live this way again ?3 -
Since I'm not getting a lot of help on SO, might as well post it here. If anyone has experience with FFMPEG RTMP streaming and feels like helping a brother out, please do take a look :)
http://stackoverflow.com/questions/...1 -
remember asl? The last post (https://devrant.com/rants/2265009/...) said I'd finished and be writing asl.sh.
I have, and it's on GitHub, and it's pulled with my dotfiles (https://github.com/skuzzymiglet/...)
https://github.com/skuzzymiglet/...
(it's 2 lines, i don't really deserve any credit)2 -
So apparently my code went to prod more or less all right. Phew, the deadline was this week-end. This project have been sitting there for month, they gave me the technical requirement and never bothered to ask the stakeholders about it. When the contract went in, they started to freak out it wasn't usable.
The thing is, this project had way more moving part and trying to threat video in the frontend is not the easiest. But now is REFACTOR TIME.
I dream of getting rid of the browser video api (too flaky), download the bitmap directly and render it in requestAnimationFrame. I call it just-in-time rendering. I think i'd need to put a decoder in aws, I did it already with ffmpeg. I could not manage to put it in streaming mode though, so it was still a bit slow, but i could decode, write and re-encode faster than the video player speed.
What do you lads think? Doable or not? I at least need to general tidy up (this codebase have grown organically without any fucking direction from above, like this project took all my time on the technical side, I did not have time to run after people to get specs), centralizing state, improve monorepo and tooling, perfs,...
Hopefully they understood i cant keep adding whatever feature they want today. -
Does any one know how to install ffmpeg for php on server
On window or Linux server? I want to use ffmpeg for merging the sound on server.4