Cloudinary has a pretty neat remote image fetching feature - You could probably use some JS magic to change the pixel density & image size dynamically also.
The old flag waver bot used this website to host its images:
I'm honestly not particularly knowledgeable on the benefits this would have over Imgur, though I do know that Imgur's terms of service state:
>...don't use Imgur to host image libraries you link to from elsewhere, content for your website, advertising, avatars, or anything else that turns us into your content delivery network.
so there might be some problems with that.
I store the original but then serve them back via an image proxy which resizes/optimises on the fly, and put that behind a CDN
This is the proxy is use: https://imgproxy.net
Hosted services like https://cloudinary.com do the same
Alternatively, you could create optimised/resized versions of the file when a user uploads using imagemagick or vips. Libraries are available for pretty much all languages. This is much less flexible than using an image proxy though.
When I need to implement image manipulation features, I don't waste time trying to do it myself. Just try https://cloudinary.com/ . There is a good free tier plan (for personal / small project I've never paid). You will be able to do plenty of image/video manipulations on the fly and use you own S3Bucket. I know you want your own function, but for your need I suggest you to avoid to re invent the wheel. I hope it will help you to go faster in your project.
Don't do that.
Use any cloud provider (S3 oder Google Cloud Storage) if you only need storage and save the reference (relative path) in your database column, or something like Cloudinary if you need dynamic resizing and effects.
+1
Caching, location-based serving built in and just the overall latency is unbeatable. Cloudinary's free plan for example is more than enough for any small web app.
Not a bad start. I would recommend Refactoring UI to better understand UI/UX concerns.
And for image/media assets, cloudinary is above and beyond one of the best.
All really exciting news! I definitely feel Rails is always making steps to make things more consistent between projects.
I'm most excited about:
Active Storage - Really awesome to have a standardised way to handle uploads (and direct uploads). Though if you're working with images, you should probably stick with Cloudinary.
Bootsnap - I've been using this in a few big rails projects I do, it's good this should help give newbies a better first impression of rails.
Webpacker - Personally I've not embraced much of ES6, anything that introduces it to me in a familiar way is awesome.
Since users will be uploading the files, I would suggest letting the user do the image manipulations. I have seen positive reviews of the Blueimp file upload library. The image management services provider Cloudinary has incorporated Blueimp into their jQuery image upload process (and I see on their website they have a free tier, if you'd like to explore that.)
The Blueimp library allows uploads directly from the browser. You do need to set all file input fields for uploads to work. Looking at the github page I see they provide for client side image resizing, which would address your manipulation question. And they also provide for multiple file uploads. Since this is a known and widely used library, it might fit your needs.
You need read the config file where it ask you put in (https://cloudinary.com/) details such as API key and private key. The account is free to make. You also need to enabled that in config changing it true.
>Middle-out scans: In JPEG, scans are always top to bottom. In JPEG XL, for which encoding occurs in groups of 256x256 pixels, you can reorder the groups. So, you can start each and every scan with the groups in the middle, which presumably contain the most enticing part of the image.
Source: https://cloudinary.com/blog/improve_the_web_experience_with_progressive_image_decoding
Best advice is to use a platform like https://imgix.com or https://cloudinary.com/ for image processing, optimization and CDN. Then learn how to use the Picture element on the front-end.
are you asking from an user perspective or from a dev one?
aka = your app assets or your actual photos?
cause for personal I really like Google Photos for photos and I do not have many personal audio assets, so I cannot suggest anything on that.
​
if you are asking for your app than I had always found Cloudinary working really well.
> JPEG XL uses floats
According to this comment by /u/jonsneyers, it uses 32-bit integers in lossless mode.
If you need image upload features then I would suggest giving cloudinary image cdn a try. They have easy to use npm and JavaScript sdks which can be used on client side as well.
I think popular blogging platforms like Medium and Hashnode also utilize cloudinary cdn for image upload feature on their blog pages.
I have tried their react implementations previously for my personal projects:-
https://cloudinary.com/documentation/react_image_and_video_upload
Look at the table in this blog post:
https://cloudinary.com/blog/how_jpeg_xl_compares_to_other_image_codecs#computational_complexity
The data is diffrent than in this image:
like bit-depth, channels, single code stream size.
You could try to integrate Cloudinary, a web service for automated image manipulation. It shouldn't be hard task for a php dev because the hard parts are already done by the service, it's only the integration.
20MB isn't really a big deal until you have like 50,000 of them, right?
The original frame is constructed by the video decoder by copying certain parts of the previous frame. That's how it can be so small. A lossless copy of the frame will be larger than the frame's data in the file, but a lossy copy will be imperfect, and will make for unrepresentative comparisons.
Basically, I'm asking what is more important to you, accurate representation, or dense representation?
If you're shooting for both, it looks like FLIF might be good, but I don't know about overall support for the format.
Cloudinary Blog - FLIF, the new lossless image format that outperforms PNG, WebP and BPG
WebP is more widely supported, but still seems to be a bit hard to convert to.
AWS S3 or some similar image storing service like cloudinary if you want a dedicated image solution is recommended(probably an over optimization but I think they have a free tier vs AWS).
That said, if you want a classic bad idea and would like to store images in your database, you can convert them to base64 and store the string.
Again, very bad idea and the only reason it even came to mind is because the outsourced development team (who were rapidly phased out once my CTO joined) was doing this for all images.
There are lots of approaches for doing it all internally, but you might want to look into Cloudinary -- https://cloudinary.com/
​
On the front end, you just add query params to say what size you want and it will create, cache, and download it. You don't have to worry about hosting, processing, or manipulating the images at all. You can even use their pre-built uploader, which includes client-side cropping, among other things.
Basically, someone creates the meme. They upload it. The website in question recompresses it in order to make it smaller; nobody will notice the difference anyways. Typically these sites don't put quality high on their list of things, so they might mess with the dimensions on top of the quality setting, which is likely <80%.
Then someone downloads the meme and rehosts it somewhere else. This one gets recompressed again. A new watermark got added to the mix, and the quality took yet another small dip.
But wait, the CDN (Content Delivery Network) of those big image hosting sites want to optimize things too, so they too decide to re-encode to optimize their throughput performance: nobody will notice that 1% of quality loss, after all.
Rinse and repeat this a couple of times, and quality can tank pretty hard.
Thus, whenever I save an image for long term archival (wallpapers, photos, other artwork) I get it from some place as close to the source as possible. Some file uploaded to image sharing websites like Imgur, Gfycat or Pinterest? Never, if I can at all help it!
You can set width and height parameters in the url the same way you are setting the quality. That should reduce your file size significantly, and then you can adjust it dynamically for different devices. You might also try setting the q to a hard number (experiment with different values to find a good balance).
They also have some official recommendations for optimizing your images
Check out https://cloudinary.com
It's free and has an awesome API.
As for the image content, there are a number of packages that do this, but I'm not sure how great they are, here's one https://www.npmjs.com/package/image-recognition
Or you can use something like AWS Recognition https://aws.amazon.com/rekognition/
It has an API to do the content filtering for you and is probably better then what you get from the free packages. Down side is that is costs money.
Hope that helps.
I had the same problem, after looking around it turns out that for some reasons images uploaded to imgur are blocked by codepen.
There are two solutions to this, either load the source image in your browser once using its link or just try using another website for uploads Cloudinary worked great for me.
If you just want somewhere to store your photos, then google drive? You can make albums and such through Google photos to share with people.
Personally, I would just kick up a quick website and throw my photos onto Cloudinary. They have free hosting up to 300,000 photos.
First, I'd deal with the errors. Secondly, when you have so much loading at once things are going to be weird. Splitting into multiple pages can help. And there's a lot going on animation, images, maps. Simplifying the page will help loading time. Consider what you can offload to another page.
On the images, reducing is only 1 part of getting images to load fast. Have you optimized them in other ways? You should check the quality (you don't have to have the highest quality for images to look good, the human eye often cannot detect differences when you lower the resolution some.) Check the image format and make sure you have the right format for the right image. You can also use image sprites to lower the amount of image data transferred. You can get more detail on image optimization at this link.
In addition, you can consider not autoloading everything. If you can have one script load another then there won't be so much loading at the beginning.
Not sure what your end goal is, but if you are thinking about a website with dynamic images or a gallery, then there are a number of ways to work in responsive images.
You do not mention where the final URL's will be located or many details of what you want from image upload. But from the brief description and assuming that you want to store these images online, you could look into one of the online image management services. These systems securely store your images and allow you to perform different transformations on the images. Some will offer multiple ways to upload, manipulate and present your images on your site, for example through frameworks like Ruby or with PHP.
Imgur may not have a good name for many Redditors, but it is free. There are more complete solutions, such as Sirv or Cloudinary, that offer more tools for videos and images, uptime guarantees and tiered pricing -- and yes a Free tier. Sirv is integrated with Amazon and uses those SDKs for development frameworks, Cloudinary uses open source libraries and integrates with more frameworks including Django. As an example, here's how Cloudinary handles jQuery image upload.
It depends on your skill set, what do you want to do with these images, how many images and how much do you want to do locally.
You could use a service like Cloudinary: https://cloudinary.com/documentation/image_transformations.
Basically on your store you upload an image, send the image to Cloudinary with what transforms and filters you want to apply, and it sends back the modified image for you to do what you need with.
I use Cloudinary for images and Mux for video, in some cases Vimeo (more for brochure websites that want their promo video smack in the middle of their website. Hey it's money.)
Both of them because Syntax.fm recommended them, and subsequently became sponsored by them (but they recommended them before they were sponsors).
It sounds like you need a service like Cloudinary to host your images and apply transformations based on the URL.
You could technically build your own service like this, but it would require quite a bit of code and a server to run it.
Cloudinary is a company that specializes in media and digital assent management. https://cloudinary.com/documentation/ios_integration
It may be that some app you have is using the Cloudinary API https://cloudinary.com/documentation/ios_integration
The question would be which app is using the Cloudinary API? And that I don’t have an answer to, unfortunately.
Yes these are fingerprints of images that are designed to identify similarities. You can read for example how it works for (phash in this article)[https://cloudinary.com/blog/how_to_automatically_identify_similar_images_using_phash], in short it's mostly XORing the values (that's the caret ^ operator)
The similarity score of the examples below expresses how each image is similar to the original image. The score is calculated as 1 - (phash_distance(phash1, phash2) / 64.0) in order to give a result between 0.5 and 1 (phash_distance can be computed using bit_count(phash1 ^ phash2) in MySQL for example)
I think the main things are:
Also, it has the property that existing jpeg images (of which there are trillions) can be converted losslessly to jxl (as in, you can get the exact same jpeg file back if you want), saving about 20%. This is useful because the usual transcoding (in a lossy way) introduces extra artifacts and can lead to a new file that is actually larger than the original jpeg, which is a bit of a transition problem (see https://cloudinary.com/blog/legacy_and_transition_creating_a_new_universal_image_codec).
Hi! Ren'py doesn't support GIF but it supports WEBP which can do animations like GIF so you can use that!
I haven't tried this myself so my bad if I'm wrong~
article about WEBP vs GIF :
Since you are rebuilding your whole app with Gatsby, I think what I said about Heroku originally isn't valid. My point was Heroku will wipe your storage away with every new restart.
You COULD, when Gatsby builds, fetch all your remote images, save them to a local directory, have gatsby-image process them, save those new images to your public directory and serve them through your app.
There are a few downsides to that idea. First, that's gonna scale poorly. The more images you have the longer that process will take. Second, I assume you are using Node. Node isn't really the best at serving static files.
Finally, Cloudinary does do transformations. That might be something you can fit into your Gatsby build process.
Here is a blog post I wrote a few years ago that explains how generation loss works: https://cloudinary.com/blog/why_jpeg_is_like_a_photocopier
Recompressing more intelligently would indeed be nice. It still happens that social media transcode images to produce even a larger file (that has extra artifacts).
One thing I've made sure we do at Cloudinary, is to have a different flow when recompressing what is already a lossy JPEG and no image manipulation operations are done (like downscaling or adding a text overlay). In that case, we'll actually estimate the JPEG quality based on the quantization tables, and only do lossless recompression if it's a low quality JPEG – if it's a sufficiently high-quality one we'll still do lossy recompression, but doing that repeatedly will only cause one extra generation, not an unbounded number of them.
I tried gThumb (as described), it only supports non animates ones.
Here are some animated webp, that you can download and try.
Hey! Thanks for the shout out. Btw in the last couple of weeks, the traffic on my site has increased quite a bit. That's nice and I would love to keep Zwifthub a free resource for everyone. To keep it that way I could need a little bit help from the crowd...
Do you want to support ZwiftHub? Great! Best thing? It's free and only takes two minutes. If you click on the referral link and sign-up for a free Cloudinary account I get 3GB of extra monthly bandwidth. No Credit Card info or payment needed. It's 100% free - like ZwiftHub for you.
https://cloudinary.com/invites/lpov9zyyucivvxsnalc5/lkat9k4nbqfnbaunqlfs
Thanks. That helps a lot to keep the hosting costs down and the site running as fast as possible.
What is Cloudinary? A Global Content Delivery Network (CDN). An image CDN has edge servers strategically positioned around the globe. These edge servers detect devices and cache optimized images. When a similar device requests an image again, the image CDN responds immediately with the already-cached optimized image.
I know for a fact image sharing sites will suffer immensely if switched to AVIF without HW decoding. In the mean time JPEG XL has proven to be as fast as JPEG (132MP/s on an unspecified quad core processor vs 108MP/s libjpeg-turbo) according to Cloudinary. AVIF is even slower than HEIC.
So for a 1MP image, you are looking at ~100ms if HEIC/AVIF is used, by comparison JPEG/JPEG XL takes <10ms. This would be even more visible on lower end phones.
Any website with a 1000x1000px image would take more than 1/4s just to render the image, and progressive decoding is not supported.
So literally any shopping sites, media sharing sites etc would be utterly useless if they choose AVIF.
https://cloudinary.com/documentation/django_image_and_video_upload
​
you can upload a video file and stream from the db...
Doesn't really have anything to do with industrial design; it's some pretty clever computer science.
https://en.m.wikipedia.org/wiki/Image_scaling https://cloudinary.com/blog/progressive_jpegs_and_green_martians
I watched a wes bos tut where he shows how to upload image files to cloudinary. You can refer this if you want to know more about it: https://cloudinary.com/documentation/image_upload_api_reference
> I kind of agree that photographers can’t be responsible for blurring everyone’s fucking face at a protest.
https://cloudinary.com/blog/automatic_face_blurring_in_images_made_easy
You could try something like https://cloudinary.com where they do all the heavy lifting for you. Just upload the main image and access different transformations on the fly by passing URL parameters. However this might work out a bit expensive in the end.
The image gets re compressed whenever folks upload it so as it gets downloaded and uploaded across sites (or if it was saved via an image editor rather than just copying the raw file), it experiences some amount of data degradation every time. This page explains it better than me.
I think this blog post has a nice feature overview. Bear in mind it was written by one of the codec's authors. https://cloudinary.com/blog/how_jpeg_xl_compares_to_other_image_codecs
The progressive download is a feature inherited by flif/fuif. Basically, you can generate a thumbnail by simply loading a fraction of the file instead of having to save an extra thumbnail file.
If you aren't expecting a ton of volume, you can use Cloudinary. They have a great developer experience and they cache your images on a CDN, which you won't get out of the box with s3 or Firebase Storage. Do note though that Cloudinary can get expensive for high volume.
>Images saved this way don't compress as efficiently though, so it's not commonly used.
I was interested in this claim, so I looked into it and came across this source, which tested 10,000 images and found that on average, progressive JPEGs are actually smaller than non-progressive JPEGs by a very small margin. So, size seems not to be an actual consideration for this choice. However, according to this blog post, one consideration is that progressive JPEGs tend to use more processing and memory to encode/decode (about 2.5x slower to decode, and 6-8x slower to encode). For decoding, this CPU time is negligible for most computers (JPEG decoding is very fast), but on smartphones it may drain battery. I suspect that the biggest reason progressive JPEG is not used often is because of the 6-8x slower encoding times, which is why most cameras use non-progressive JPEGs. If cameras are taking non-progressive JPEGs by default, most people will just upload images to their site as non-progressive JPEGs. The links I mentioned have some fascinating reads if anyone wants to learn more, including alternative (but less popular) JPEG encodings that try to tackle the problem of faster-feeling loading times in different ways.
Something like https://cloudinary.com/ might also be interesting. You can optimize dynamically (e.g. via URL parameters), optionally add some cool effects and you have a CDN built-in, so less strain on your servers.
Yeah I was thinking to use Cloudinary, but I am not big a fan of it. I think I will ask my host what they are offering.
Thanks for sharing, I am going to look into multer.
If a website serves images as webp files, Firefox will offer to save them as webp. An addon like this one might help.
Also, you can try to remove image/webp
, from image.http.accept
in about:config, but these days there is no guarantee that sites will actually serve you another format, in spite of that.
It's not about how Firefox saves the image, it's about how the website serves it to you. If the website serves WebP even if your browser doesn't indicate it supports it, there's nothing you can do.
https://cloudinary.com/blog/how_to_support_webp_images_save_bandwidth_and_improve_user_performance
You can still save the .png in Firefox, even if it displays as webp, by going to the Page Info (right-click->View Page/Image Info) and choosing "Save as" for the image. That will download and save the PNG instead of the webp file.
You could use an image CDN like Cloudinary to scale your images on the fly per request to be as much as flexible as possible. You also could add watermarks afterwards if you want. Everything is done with just query parameters.
I've done a little thumbnailing before using offline tasks in Celery, PIL and a few S3 buckets. It was little fiddly to set up initially but works OK.
There are also 3rd party services that will do stuff like this for you: example
Disclaimer: I haven't used cloudinary.
But a quick glance over their documentation suggests you could use their API to search for resources in a given folder, then loop over the response object. Seems quite straight-forward; is there something specific you need help with?
To add to /u/leiinth's answer, when I worked on image heavy projects in the past I usually went about it one of two ways:
> In the first scenario, the operator want to see a list of 20 orders
GET /orders?limit=20
and have the endpoint send a summary for each order. The /orders
endpoint will contain a link to the thumbnail. Just don't have your client fetch it.
> in the second scenario, I want to provide details of an order (like /orders/121) so the request will contain all the details.
GET /orders/{order-id}
and have the endpoint send all the details for that order.
> in the third scenario, a user wants to check her orders, I have to provide a list of 10 orders with thumbnail images.
GET /orders?limit=20
. Have your client fetch the thumbnail image. If you're worried about multiple requests, just load the order data and show some ImageLoader
component for where the image should go.
Also, One thing that burned me in the past was storing the full url in the database. A better long term approach would be to normalize the image url (and construct the url through some middleware or Lambda function) so that if you end up switching your image provider or just change accounts, you can easily update the database for that change.
SkyFolder is a REST API that makes it easy to give your users cloud file hosting functionality. Check out our blog!
I am using https://cloudinary.com/. This is free upto 11 GB storage. (10 GB default + 1 GB by sharing on facebook & twitter). But free bandwidth is only 22GB/month. Alternatively you can use AWS S3. Or you can have multiple accounts and customize your code accordingly. I can tell you one thing for sure that you don't need to pay for storage at all if you don't want to pay.
I highly recommend taking a look at Cloudinary. Their platform is nothing short of amazing for image and video files. You can convert your file there using their tools, sometimes on the fly. Their SDKs are great and their documentation does a good job explaining how to use the toolkits. They also have a very generous free tier for their platform.
Ok, so in the dictionary value that has your username, API key and upload_preset you should have your cloudinary username, the API key from the site and then the preset is ml_default. (That’s a lower case L.).
There’s also a setting in Cloudinary you can try and tweak. Upload Presets are found here https://cloudinary.com/console/settings/upload and you can tweak the setting there. It’ll have the name of your default (which I’m sure is ml_default) and change the setting from false to true. See if that helps.
I used Cloudinary for small apps since the free tier was enough for me: https://cloudinary.com/pricing Super simple to setup.
AWS S3 buckets are probably the cheapest and most ideal if you can get it to work.
a) Use an external renderer like Inkscape with the --export-png=FILENAME
or headless Chrome like /u/PetahNZ mentioned
b) Use a image manipulation extension / library like ImageMagick, as /u/Kit_Saels proposed.
c) Use a commercial transcoding service like Cloudinary or similar.
Full Stack Radio has recommended Cloudinary, on several episodes:
For file attachments and the like, your best bet would be to build something around the cloud storage provider of your choice. For profile and other pictures, I highly recommend taking a look at the Cloudinary platform.
I think the problem here is that you're directly linking to an image on imgur. Per their policy:
>Imgur's terms of service prohibits using Imgur as a content delivery network, hotlinking adult or illegal images, torrents, image hosting for commercial purposes, or sites which copy Imgur's own functionality. One way to get around that is to use Imgur's embed unit instead of hotlinking.
If you want to use imgur to store your pics, here's how you use their embed feature. But you're better off using a site appropriate for storage, or linking to an image kept in the same folder as your html doc. Codepen suggests Cloudinary (I think). But really, unless you have a specific reason to store your image offsite, just store it locally.
The only way to off-load your server and get optimized images, is to use a service like https://cloudinary.com or some other provider, or using BunnyCDN´s image add-on for $10 a month on top of the regular $1 a month cdn service.
Don't worry about things like this and just use Cloudinary. Their free tier is generous enough.
You can use the picture tag to art direct the image for different screens resolutions, then leverage Cloudinary's on the fly image transforms to give you the image you need.
thanks! I wouldn't have remembered otherwise lol.
For the pixelated images, I had my designer build out the icons in After Effects, and then run them through this website to give them the pixelated look. I used the SNES at pretty much the lowest settings, just enough to give them a small pixelated look. The plus side of this, which actually applied to the whole project, is that since the look is pixelated, I had a lot of room to use more images without making the site size massive. I also used cloudinary to serve them as WebM, unless the client is using safari, in which case it serves gifs.
The font is called 'M8', if you PM me your email, I can share the files.
The flicker effect is pure CSS, as is the grid effect, and any of the blinking texts. The windows toolbar is all CSS, as are the windows, and the icon highlight when you click a link. I would like to add some more CSS to make it so that the 'X' button clicks down when you click it, but haven't had much time to work on this site lately.
That covers a lot of it, if you have specific questions or want me to look at your site and give you some guidance, I'd be happy to help. I couldn't find anything similar to this site, especially with help building it, so I know it's a tough one to build out. It was for me at least.
There are many web services available that will pull every image off your website and optimize them for you. You can leverage their API or plugin to process images right inside your CMS, or set the service to scan your entire site, optimize every image, and then deliver them all back to you to drop and replace on your web server.
Take a look at…
1) Yes, I checked Digital Ocean, Heroku, AWS etc. but as I said my budget is limited and even $50 per year is equal to my food for 1.5 month. I find some place where I can host it for affordable price but I'm still talking about it with them. The thing is, the only supported language is PHP so I have to rewrite part of app I already wrote in Node. Also they have only one server - in Germany - so for users in America it might take a moment to load. I already got a domain and SSL Certificate.
2) Data is stored in a database.
3) Right now images are not stored anywhere while I'm developing it in local environment. I was planning to host them with an app, since there is 20GB of space. The other option is to host them on Cloudinary but I haven't explored it yet.
4) < 2.5 GB without thumbnails
I use Cloudinary (If you use this link I get an extra GB of storage space). It has a free tier and you can crop, optimize, and do many other tasks dynamically via the URL.
It's what I use.
Someone introduced me to Cloudinary which you might find handy regardless of which website generator you end up using. I wont be surprised if you find Gatsby is painfully slow for a thousand+ page website though.
Cloudinary has API support – Mocktail uses it – and lets you superimpose a transparent PNG on top of a video. You could upload a video and download a transformed video within a shortcut, I'm fairly sure.
I don't seem to have an issues my newsletter is not that long 10 or so a week. I used https://cloudinary.com/ do the images. Seems to work just fine. I think I had 26 at one time. No issues cutting newsletters. Works on android phone email and chrome email
I've try to use the external service Cloudinary whenever I can, it is pretty awesome. You upload the best quality image to it, and then retrieve the image you want by adding parameters to the url (size, pixel density, auto format, ...).
Everything related to my website has been faster, unfortunately the image url it puts in place isn't one that is the most efficient format or quality but I think it's still better than having the images served from my website server.
Irony you ask this, I was looking for similar and came across this API. It does mean sending the photos off to a server, but, it's doable. But after looking at this, I realized I could manage something similar on my own server.
Using a Linux at home, I can upload a photo and use ImageMagik to do basic filters, then download them again. This was easier than setting up the API, but I may set that API up tonight for others.
We used cloudinary for a small project. Comes with python package to easily manage your images. You can even do some edits like cropping and rotating. And it was free for our purposes.
I am using Cloudinary to upload and store images. The URL for uploaded images is stored in my backend via graphql. It has taken a lot of the complexity away from uploading and storing images.
Hey! I would take a look at ffmpeg and various things you can do with that (super powerful) - however, if it’s a rabbit hole, I’d probably look at making a nice frontend visualiser for cloudinarys (link below) video editing api? It’s really nice to work with and all the grunt work is already set up by them. You just pass the video with the start and end trim times you want and it returns the trimmed video. Hope it gives you some ideas and good luck!
https://cloudinary.com/documentation/video_manipulation_and_delivery#trimming_videos
I've been t looking through the app and the services they use for the past year and there are several providers they use:
Omnigon, the developers of the app, hired by Verizon, are in charge of the app itself and all the live telemetry data.
Cloudinary is in charge of hosting all the images used in the app. Pictures for news entries, manufacturer logos, driver number logos and liveries, etc.
The only conflicting source is the live video data, that is served through Uplynk, a video streaming service owned by Verizon.
I didn't have time to tap into the audio feed so I don't really know who does this part but I guess it's from Verizon too.
So, if the new title sponsor wants to keep things as they are regarding the app, they should have no problem, beside now paying Verizon for the usage of their streaming service. All the other providers are third party and not part of Verizon so the deals can stay the same.
Well, aside from having to use different sized images, etc, adjusting the element and plopping in the code, you could try out Cloudinary, use their free account and serve proper sized images all the time without having to worry about the hassle.
I use them to serve all my images and save me the headache. It just works flawlessly for my workflow. I've used in WP, Jekyll and GatsbyJS no problem.
Look at Cloudinary. You get plenty with the free tier (25GB). I believe ImageKit also have a far more predictable pricing with unlimited transformation.
You can't really do it with CF7 itself. It's just a form plugin.
You need to upload the photos, and then use a regular WP plugin that can work to optimize the photos. For example EWWW image optimizer will reduce the size of the file, and with some plugins and external services can also resize the actual photo files. Another plugin to look at is Cloudinary. They have a generous free option that will also reduce file size.
If you are running into mobile upload issues, you may want to break the form into steps or pages as well. That may require a different form plugin/provider, but that's one way to get around file upload limitations.
^ This. With HTTP/2, it's better to keep small resources on the same origin.
This being said, CDN's are fantastic for large resources, such as big-images or videos. While 10 kb's of CSS will probably load quick for a user anywhere in the world, a 200 kb image or 1 mb video will take much longer to load for a user extremely far way from the file host, which is where a CDN can really save you time.
With that in mind, I love Cloudinary. Any CDN will do, but Cloudinary does a lot of image and video alterations on top of being a CDN, and can be just as free as Cloudflare otherwise.
Any CDN will do, just voicing my preferences!
For images, I just need to able to request images in the normal size and a smaller thumbnail size. That and some sort of image recognition filter for moderation as mentioned: https://cloudinary.com/blog/how_to_automate_image_moderation_with_amazon_rekognition That's pretty much it. Now that I know about S3 + Lambda, that sounds like just 2 functions, whereas I'm not using a majority of Cloudinary's features. Thoughts?
And out of curiosity, what kind of search are you doing where a cheaper/free alternative like ElasticSearch or just PostgreSQL/MongoDB full-text search wouldn't suffice?
Filmora is another popular video editing package, it has a free trial. Others are:
WeVideo - cloud based and free
Machete Video Editor Lite - free
Avidemux - free
And if you are doing this for use on a web page, you can use CSS for your overlay image. Add a new div and add an overlay element, example code below:
#overlay { position: fixed; /* Sit on top of the page content / display: none; / Hidden by default / width: 100%; / Full width (cover the whole page) / height: 100%; / Full height (cover the whole page) / top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0,0,0,0.5); / Black background with opacity / z-index: 2; / Specify a stack order in case you're using a different order for other elements / cursor: pointer; / Add a pointer on hover */ }
And then a one line JS script function to place the overlay, example below.
function on() { document.getElementById("overlay").style.display = "block"; }
function off() { document.getElementById("overlay").style.display = "none"; }
Which version of FFmpeg are you using? 3.4 ("Cantor") has many updated features including more filters. Remember that FFmpeg filters do not match any "standard" and CSS filters are determined by mathematical definitions. So the short answer is that you can't get a precise match using the two filtering methods. You can view the CSS standards here, which may help you match up better.
If I had a choice, I would use the CSS filters because they are supported by standards. The FFmpeg filters you choose now may be changed in future releases and patches. Using CSS would keep your videos looking consistent.
The CSS is pretty simple: transform: rotateY(360deg);
You can do it all in CSS/HTML, but it is basically a checkbox hack because there isn't a click event. I didn't include all the code, just the main points.
... label { label definition here with image }
transform: rotateY(360deg);
} <input type="checkbox" id="demo"/> ....
And as previous answers noted you can use a class. You can rotate images with CSS several ways, here's a wiki page with more ideas.
I like to download the image and host it myself on cloudinary. Check out their dynamic URL transformations, and learn about media queries. You can dynamically load different URLs depending on device size like https://cloudinary.com/user/image/w_480 (which will return a scaled image of width 480 pixels)
Github isn't a cdn, it's in their section about using github pages.
If you want a freeCDN to use for your personal websites you can use cloudinary I use it for my cdn personally.
Additionally, you can join the devvit.io to get answers to questions like this from other developers.
To upload a file at a time with PHP you can create an HTML form and some basic PHP code to upload images via the form. In looking at several sources, they all referenced this form - upload method. There's an example here. I did find a PHP script example that sets some variables (name, size, directory, type extension) and used (isset($_POST['submit']) uploads the file But that was only uploading the file, not moving it on the page. It did look like there was less flexibility with PHP code.
You don't say how many images you are looking to upload, if you need to do a lot of images, you might look into using a tool or image management service. You could investigate the online tools to see if any meet your needs, but if you have a lot of images to deal with, services like Cloudinary have methods for PHP upload so you can integrate image upload with your other PHP code.
Oh, and I want to work more on images. Right now, you just give it a background image in the URL or the content, and it uses Cloudinary to generate the different sizes. But anyway, it needs more work.