ffmprb 0.7.4 → 0.7.5

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cab9a42d86cde16665ecb56282e4539aacb44050
4
- data.tar.gz: 3490a22eeb910ad2a4dc7ac621f3a8f8ecbd6e24
3
+ metadata.gz: 510aa0451bf42ca9dc3dad8268bc017cce41f331
4
+ data.tar.gz: 9abf39c9c5081038aecf607cf4c16fdc49788514
5
5
  SHA512:
6
- metadata.gz: 260a73fdf0a94a9244892f9ea66d9608fcb365a5be1b6c61abe6a065ce1d783cb7b33f0467a44d1b0896c8e4aff1198ad3c427433e59f79375ce53882d919233
7
- data.tar.gz: cbc7b19a6db51ca517863f9cd106e21042bfb59e84eb0cab080297ef620d33e4d86b67b19b198ddb032b0235702802eff63e120da07ab41b43f154f4321eaf73
6
+ metadata.gz: 364cbc89864751a3837cb6c2239a823bf964f948b3504b741754116744cd5e7e7981523e0d88d88e66b486d3c011dac9f572c6619e97985363887fe693c5e827
7
+ data.tar.gz: 25e2170a21c60ced85fc43fa6c33007782b981741c12377c2aedd1f7e67e626a8ebffa40b9b7eb92272b949f4f1872295dd0ce1887ef89fdcfd892fc613dd093
data/lib/defaults.rb CHANGED
@@ -2,10 +2,12 @@ module Ffmprb
2
2
 
3
3
  Filter.silence_noise_max_db = -40
4
4
 
5
+ Process.duck_audio_silent_min = 3
6
+ Process.duck_audio_transition_length = 1
7
+ Process.duck_audio_transition_in_start = -0.4
8
+ Process.duck_audio_transition_out_start = -0.6
5
9
  Process.duck_audio_volume_hi = 0.9
6
10
  Process.duck_audio_volume_lo = 0.1
7
- Process.duck_audio_transition_length = 1
8
- Process.duck_audio_silent_min = 3
9
11
  Process.timeout = 15
10
12
 
11
13
  Util.ffmpeg_cmd = ['ffmpeg']
@@ -5,7 +5,7 @@ module Ffmprb
5
5
  def find_silence(input_file, output_file)
6
6
  logger.debug "Finding silence (#{input_file.path}->#{output_file.path})"
7
7
  silence = []
8
- Util.ffmpeg('-i', input_file.path, *silence_detect_options, output_file.path).
8
+ Util.ffmpeg('-i', input_file.path, *find_silence_detect_options, output_file.path).
9
9
  scan(SILENCE_DETECT_REGEX).each do |mark, time|
10
10
  time = time.to_f
11
11
 
@@ -31,8 +31,8 @@ module Ffmprb
31
31
 
32
32
  SILENCE_DETECT_REGEX = /\[silencedetect\s.*\]\s*silence_(\w+):\s*(\d+\.?d*)/
33
33
 
34
- def silence_detect_options
35
- @silence_detect_options ||= Filter.complex_options(Filter.silencedetect)
34
+ def find_silence_detect_options
35
+ Filter.complex_options Filter.silencedetect
36
36
  end
37
37
 
38
38
  end
@@ -4,8 +4,10 @@ module Ffmprb
4
4
 
5
5
  class << self
6
6
 
7
- attr_accessor :duck_audio_volume_hi, :duck_audio_volume_lo
8
- attr_accessor :duck_audio_silent_min, :duck_audio_transition_length
7
+ attr_accessor :duck_audio_volume_hi, :duck_audio_volume_lo,
8
+ :duck_audio_silent_min
9
+ attr_accessor :duck_audio_transition_length,
10
+ :duck_audio_transition_in_start, :duck_audio_transition_out_start
9
11
 
10
12
  attr_accessor :timeout
11
13
 
@@ -23,7 +25,7 @@ module Ffmprb
23
25
 
24
26
  def duck_audio(av_main_i, a_overlay_i, silence, av_main_o,
25
27
  volume_lo: duck_audio_volume_lo, volume_hi: duck_audio_volume_hi,
26
- silent_min: duck_audio_silent_min, transition_length: duck_audio_transition_length,
28
+ silent_min: duck_audio_silent_min,
27
29
  video: {resolution: Ffmprb::CGA, fps: 30} # XXX temporary
28
30
  )
29
31
  Ffmprb.process(av_main_i, a_overlay_i, silence, av_main_o) do |main_input, overlay_input, duck_data, main_output|
@@ -37,14 +39,16 @@ module Ffmprb
37
39
  duck_data.each do |silent|
38
40
  next if silent.end_at && silent.start_at && (silent.end_at - silent.start_at) < silent_min
39
41
 
42
+ transition_in_start = silent.start_at + Process.duck_audio_transition_in_start
40
43
  ducked_overlay_volume.merge!(
41
- [silent.start_at - transition_length/2, 0.0].max => volume_lo,
42
- (silent.start_at + transition_length/2) => volume_hi
44
+ [transition_in_start, 0.0].max => volume_lo,
45
+ (transition_in_start + Process.duck_audio_transition_length) => volume_hi
43
46
  ) if silent.start_at
44
47
 
48
+ transition_out_start = silent.end_at + Process.duck_audio_transition_out_start
45
49
  ducked_overlay_volume.merge!(
46
- [silent.end_at - transition_length/2, 0.0].max => volume_hi,
47
- (silent.end_at + transition_length/2) => volume_lo
50
+ [transition_out_start, 0.0].max => volume_hi,
51
+ (transition_out_start + Process.duck_audio_transition_length) => volume_lo
48
52
  ) if silent.end_at
49
53
  end
50
54
  overlay in_over.volume ducked_overlay_volume
@@ -1,3 +1,3 @@
1
1
  module Ffmprb
2
- VERSION = '0.7.4'
2
+ VERSION = '0.7.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ffmprb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.7.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - showbox.com
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2015-10-15 00:00:00.000000000 Z
12
+ date: 2015-10-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: mkfifo