video-gif-previewer 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 942f018537d5c26357f421ea6547a2f34890e75c27c622f0f45c9515aee38ea7
4
+ data.tar.gz: 73866991e2091767af9ac23d4fe02242459964daf0fdf25a0e140d3b036f23c8
5
+ SHA512:
6
+ metadata.gz: 697a4b25a1497a527e101be008bb8e0eb94a8889de71fb0a46eab1a6fc26367bb6ca59276c5765af8034449f62ddd217c84d076a0c25f0cb3759b0a9b4750f37
7
+ data.tar.gz: a629871920e0c0418f655a0982baadfd93507ca64934c4fa3bdc6bd089955c545688ab9ddba8e465f249648b1fb683edd2bb718eea6932de3663916e29e9a9f2
data/README.md ADDED
@@ -0,0 +1 @@
1
+ # video-gif-previewer
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ class VideoGifPreviewer
4
+ VERSION = '0.0.1'
5
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ class VideoGifPreviewer < ActiveStorage::Previewer::VideoPreviewer
4
+ def preview(**options)
5
+ download_blob_to_tempfile do |input|
6
+ draw_relevant_frames_from input do |output|
7
+ yield io: output, filename: "#{blob.filename.base}-preview.gif", content_type: "image/gif", **options
8
+ end
9
+ end
10
+ end
11
+
12
+ private
13
+
14
+
15
+ def draw_relevant_frames_from(file, &block)
16
+ draw self.class.ffmpeg_path,
17
+ "-i", file.path,
18
+ '-filter_complex', 'fps=10,scale=360:-1[s]; [s]split[a][b]; [a]palettegen[palette]; [b][palette]paletteuse',
19
+ '-f', 'gif',
20
+ '-ss', '3',
21
+ '-to', '8',
22
+ "-", &block
23
+ end
24
+ end
metadata ADDED
@@ -0,0 +1,49 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: video-gif-previewer
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Brian Haberer
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2025-04-11 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Generate rails active storage video previews as gifs
14
+ email: bhaberer@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - README.md
20
+ - lib/video_gif_previewer.rb
21
+ - lib/video_gif_previewer/version.rb
22
+ homepage: https://github.com/bhaberer/video-gif-previewer
23
+ licenses:
24
+ - GPL-2.0-only
25
+ metadata:
26
+ allowed_push_host: https://rubygems.org/
27
+ homepage_uri: https://github.com/bhaberer/video-gif-previewer
28
+ source_code_uri: https://github.com/bhaberer/video-gif-previewer
29
+ rubygems_mfa_required: 'true'
30
+ post_install_message:
31
+ rdoc_options: []
32
+ require_paths:
33
+ - lib
34
+ required_ruby_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: 3.3.6
39
+ required_rubygems_version: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ requirements: []
45
+ rubygems_version: 3.5.23
46
+ signing_key:
47
+ specification_version: 4
48
+ summary: ActiveStorage Gif Video Preview generation
49
+ test_files: []