Module: AviGlitch
- Defined in:
- lib/aviglitch.rb,
lib/aviglitch/avi.rb,
lib/aviglitch/base.rb,
lib/aviglitch/frame.rb,
lib/aviglitch/frames.rb
Overview
AviGlitch provides the ways to glitch AVI formatted video files.
Synopsis:
You can manipulate each frame, like:
avi = AviGlitch.open '/path/to/your.avi'
avi.frames.each do |frame|
if frame.is_keyframe?
frame.data = frame.data.gsub(/\d/, '0')
end
end
avi.output '/path/to/broken.avi'
Using the method glitch, it can be written like:
avi = AviGlitch.open '/path/to/your.avi'
avi.glitch(:keyframe) do |data|
data.gsub(/\d/, '0')
end
avi.output '/path/to/broken.avi'
Since v0.2.2, it allows to specify the temporary directory. This library duplicates and processes a input file in the temporary directory, which by default is Dir.tmpdir
. To specify the custom temporary directory, use tmpdir:
option, like:
avi = AviGlitch.open '/path/to/your.avi', tmpdir: '/path/to/tmpdir'
Defined Under Namespace
Classes: Avi, Base, Frame, Frames
Constant Summary collapse
- VERSION =
'0.2.2'
- BUFFER_SIZE =
2 ** 24
Class Method Summary collapse
-
.open(path_or_frames, tmpdir: nil) ⇒ Object
Returns AviGlitch::Base instance.
Class Method Details
.open(path_or_frames, tmpdir: nil) ⇒ Object
Returns AviGlitch::Base instance. It requires path_or_frames
as String or Pathname, or Frames instance. Additionally, it allows tmpdir:
as the internal temporary directory.
49 50 51 52 53 54 55 |
# File 'lib/aviglitch.rb', line 49 def open path_or_frames, tmpdir: nil if path_or_frames.kind_of?(Frames) path_or_frames.to_avi else AviGlitch::Base.new(Pathname(path_or_frames), tmpdir: tmpdir) end end |