video_transcoding 0.24.0 → 0.25.0

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.
data/bin/convert-video CHANGED
@@ -436,8 +436,23 @@ HERE
436
436
  Process.kill 'INT', io.pid
437
437
  end
438
438
 
439
+ buffer = ''
440
+
439
441
  io.each_char do |char|
440
- print char
442
+ if (char.bytes[0] & 0x80) != 0
443
+ buffer << char
444
+ else
445
+ if not buffer.empty?
446
+ print buffer
447
+ buffer = ''
448
+ end
449
+
450
+ print char
451
+ end
452
+ end
453
+
454
+ if not buffer.empty?
455
+ print buffer
441
456
  end
442
457
  end
443
458
  rescue SystemCallError => e
data/bin/transcode-video CHANGED
@@ -145,9 +145,9 @@ Audio options:
145
145
  --ac3-encoder ac3|eac3
146
146
  set AC-3 audio encoder (default: ac3)
147
147
  --ac3-bitrate 384|448|640|768|1536
148
- set AC-3 audio bitrate (default: 640)
148
+ set AC-3 surround audio bitrate (default: 640)
149
149
  --pass-ac3-bitrate 384|448|640|768|1536
150
- set AC-3 audio pass-through bitrate (default: 640)
150
+ set AC-3 surround pass-through bitrate (default: 640)
151
151
  --copy-audio TRACK|all
152
152
  try to copy track selected by number in its original format
153
153
  falling back to surround format if original not allowed
@@ -162,8 +162,10 @@ Audio options:
162
162
  (can be used multiple times)
163
163
  --aac-encoder NAME
164
164
  use named AAC audio encoder (default: platform dependent)
165
- --mixdown dpl2|stereo
166
- set mixdown format for stereo audio tracks (default: dpl2)
165
+ --mixdown stereo|dpl2
166
+ set mixdown for stereo audio output tracks
167
+ to regular stereo or Dolby Pro Logic II format
168
+ (default: stereo)
167
169
  --no-audio disable all audio output
168
170
 
169
171
  Subtitle options:
@@ -267,7 +269,7 @@ HERE
267
269
  @copy_audio = []
268
270
  @copy_audio_name = []
269
271
  @aac_encoder = nil
270
- @mixdown = 'dpl2'
272
+ @mixdown = 'stereo'
271
273
  @burn_subtitle = nil
272
274
  @force_subtitle = nil
273
275
  @extra_subtitle = []
@@ -652,7 +654,7 @@ HERE
652
654
 
653
655
  opts.on '--mixdown ARG' do |arg|
654
656
  @mixdown = case arg
655
- when 'dpl2', 'stereo'
657
+ when 'stereo', 'dpl2'
656
658
  arg
657
659
  else
658
660
  fail UsageError, "invalid mixdown: #{arg}"
@@ -875,6 +877,7 @@ HERE
875
877
  adjust_metadata(handbrake_options['output'])
876
878
 
877
879
  unless @dry_run
880
+ puts "Completed: #{handbrake_options['output']}"
878
881
  seconds = Time.now.tv_sec - seconds
879
882
  hours = seconds / (60 * 60)
880
883
  minutes = (seconds / 60) % 60
@@ -1177,13 +1180,35 @@ HERE
1177
1180
  (info[:format] =~ /^AAC/ or (@keep_ac3_stereo and has_ac3))) or
1178
1181
  (@stereo_format == 'ac3' and has_ac3)))
1179
1182
  encoders << 'copy'
1183
+ bitrates << ''
1180
1184
  mixdowns << ''
1181
1185
  else
1182
1186
  encoders << stereo_encoder
1187
+
1188
+ if stereo_encoder == 'eac3'
1189
+ if @ac3_bitrate == 1536
1190
+ bitrates << ''
1191
+ else
1192
+ if (info[:channels] > 1.0)
1193
+ if @ac3_bitrate == 768
1194
+ bitrates << '384'
1195
+ else
1196
+ bitrates << '224'
1197
+ end
1198
+ else
1199
+ if @ac3_bitrate == 768
1200
+ bitrates << '192'
1201
+ else
1202
+ bitrates << '96'
1203
+ end
1204
+ end
1205
+ end
1206
+ else
1207
+ bitrates << ''
1208
+ end
1209
+
1183
1210
  mixdowns << (info[:channels] > 2.0 ? @mixdown : '')
1184
1211
  end
1185
-
1186
- bitrates << ''
1187
1212
  end
1188
1213
 
1189
1214
  track_order.each do |track|
@@ -1391,10 +1416,26 @@ HERE
1391
1416
  Process.kill 'INT', io.pid
1392
1417
  end
1393
1418
 
1419
+ buffer = ''
1420
+
1394
1421
  io.each_char do |char|
1395
- print char
1422
+ if (char.bytes[0] & 0x80) != 0
1423
+ buffer << char
1424
+ else
1425
+ if not buffer.empty?
1426
+ print buffer
1427
+ buffer = ''
1428
+ end
1429
+
1430
+ print char
1431
+ end
1432
+
1396
1433
  log_file.print char unless log_file.nil?
1397
1434
  end
1435
+
1436
+ if not buffer.empty?
1437
+ print buffer
1438
+ end
1398
1439
  end
1399
1440
  rescue SystemCallError => e
1400
1441
  raise "transcoding failed: #{e}"
@@ -5,5 +5,5 @@
5
5
  #
6
6
 
7
7
  module VideoTranscoding
8
- VERSION = '0.24.0'
8
+ VERSION = '0.25.0'
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: video_transcoding
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.24.0
4
+ version: 0.25.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Don Melton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-02-25 00:00:00.000000000 Z
11
+ date: 2019-03-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |2
14
14
  Video Transcoding is a package of tools to transcode, inspect
@@ -24,6 +24,7 @@ extra_rdoc_files:
24
24
  - LICENSE
25
25
  - README.md
26
26
  files:
27
+ - CHANGELOG.md
27
28
  - LICENSE
28
29
  - README.md
29
30
  - bin/convert-video