video_transcoding 0.1.1 → 0.1.2

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: 38697aabb50a4a188972d30c2685e4bed420b665
4
- data.tar.gz: 38281c797f61207aeda01ba7726b4bd1d0084459
3
+ metadata.gz: ea1e5f908d34e4290159cef2ead3dc50c75f6f4e
4
+ data.tar.gz: 699559bd07d8e133272ac7222520cc5d14d3183e
5
5
  SHA512:
6
- metadata.gz: 9d54dc4115b8b30d6c081a95fa65907df09415a49acc5bb32d0850ed5fd228a152a061c1c206407da818a05c95ab1cdeaede34f73ca18e4c50db7221ba532ecd
7
- data.tar.gz: 471c07eec8486705658046d480919a81aa118c357dcb021948e26ad332de5c3ae1b566aa70e123dd8706c6c9dab0add3717e161c38e732ecfb6d894f54530539
6
+ metadata.gz: bd714b6cd993f10849fccd7d24ce15143fc16577ffe3809bf0b4ec7958965aca47ae4813b38aacc150bd475db56d754aea3bf675a43c5ef807f206907161edf4
7
+ data.tar.gz: 6db85f92780f16e2d5d88de5fd298c44f52f55bdef3b47c2153cec0ceacf9e051c7eb9ebdf899ac70cff1fa46796d0ff182ad58f9adda3c4022cdbbba2be6d7c
data/README.md CHANGED
@@ -12,16 +12,16 @@ This package is based on my original collection of [Video Transcoding Scripts](h
12
12
 
13
13
  Most of the tools in this package are essentially intelligent wrappers around Open Source software like [HandBrake](https://handbrake.fr/), [MKVToolNix](https://www.bunkus.org/videotools/mkvtoolnix/), [MPlayer](http://mplayerhq.hu/), [FFmpeg](http://ffmpeg.org/), and [MP4v2](https://code.google.com/p/mp4v2/). And they're all designed to be executed from the command line shell:
14
14
 
15
- * [`transcode-video`](#whytranscode-video)
15
+ * [`transcode-video`](#why-transcode-video)
16
16
  Transcode video file or disc image directory into format and size similar to popular online downloads.
17
17
 
18
- * [`detect-crop`](#whydetect-crop)
18
+ * [`detect-crop`](#why-detect-crop)
19
19
  Detect optimal crop values for video file or disc image directory.
20
20
 
21
- * [`convert-video`](#whyconvert-video)
21
+ * [`convert-video`](#why-convert-video)
22
22
  Convert video file from Matroska to MP4 format or from MP4 to Matroksa format without transcoding video.
23
23
 
24
- * [`query-handbrake-log`](#whyquery-handbrake-log)
24
+ * [`query-handbrake-log`](#why-query-handbrake-log)
25
25
  Report information from HandBrake-generated `.log` files.
26
26
 
27
27
  Even if you don't try any of my tools, you may find this "README" document helpful:
@@ -300,6 +300,10 @@ However, you can copy the original audio track, provided HandBrake and your sele
300
300
 
301
301
  transcode-video --copy-audio 1 "/path/to/Movie.mkv"
302
302
 
303
+ The `--copy-audio` option doesn't implicitly add the audio track to be copied. The previous command works because `1` identifies the main audio track and it's included by default. To copy a different track, you must first add it:
304
+
305
+ transcode-video --add-audio 4 --copy-audio 4 "/path/to/Movie.mkv"
306
+
303
307
  Be aware that copying audio tracks in their original format will likely defeat two very important goals of transcoding: portability and compression.
304
308
 
305
309
  #### Understanding subtitles
data/bin/transcode-video CHANGED
@@ -978,7 +978,7 @@ HERE
978
978
  def prepare_subtitle(media, handbrake_options)
979
979
  return if media.info[:subtitle].empty?
980
980
 
981
- if @auto_burn
981
+ if @auto_burn and not media.info[:mp4]
982
982
  burn_track, _ = media.info[:subtitle].find { |_, info| info[:forced] }
983
983
  else
984
984
  burn_track = @burn_subtitle
@@ -51,9 +51,9 @@ module VideoTranscoding
51
51
  @info = {}
52
52
 
53
53
  if @title.nil?
54
- if @scan =~ /\+ title ([0-9]+):\n \+ Main Feature/m
54
+ if @scan =~ /\+ title ([0-9]+):\r?\n \+ Main Feature/m
55
55
  @title = $1.to_i
56
- elsif @scan =~ /^\+ title ([0-9]+):$/
56
+ elsif @scan =~ /^\+ title ([0-9]+):/
57
57
  @title = $1.to_i
58
58
  else
59
59
  @title = 1
@@ -70,7 +70,7 @@ module VideoTranscoding
70
70
  @info[:size] = @stat.size
71
71
  @info[:directory] = @stat.directory?
72
72
 
73
- unless @scan =~ /^ \+ duration: ([0-9]{2}):([0-9]{2}):([0-9]{2})$/
73
+ unless @scan =~ /^ \+ duration: ([0-9]{2}):([0-9]{2}):([0-9]{2})/
74
74
  fail 'media duration not found'
75
75
  end
76
76
 
@@ -92,7 +92,7 @@ module VideoTranscoding
92
92
 
93
93
  return @info unless @extended
94
94
 
95
- unless @scan =~ / \+ audio tracks:\n(.*) \+ subtitle tracks:\n(.*)HandBrake has exited./m
95
+ unless @scan =~ / \+ audio tracks:\r?\n(.*) \+ subtitle tracks:\r?\n(.*)\r?\nHandBrake has exited./m
96
96
  fail 'audio and subtitle information not found'
97
97
  end
98
98
 
@@ -101,7 +101,7 @@ module VideoTranscoding
101
101
  @info[:audio] = {}
102
102
  @info[:subtitle] = {}
103
103
 
104
- audio.each_line do |line|
104
+ audio.gsub(/\r/, '').each_line do |line|
105
105
  if line =~ /^ \+ ([0-9.]+), [^(]+\(([^)]+)\) .*\(([0-9.]+) ch\) .*\(iso639-2: ([a-z]{3})\)/
106
106
  track = $1.to_i
107
107
  track_info = {}
@@ -121,7 +121,7 @@ module VideoTranscoding
121
121
  end
122
122
  end
123
123
 
124
- subtitle.each_line do |line|
124
+ subtitle.gsub(/\r/, '').each_line do |line|
125
125
  if line =~ /^ \+ ([0-9.]+), .*\(iso639-2: ([a-z]{3})\) \((?:Text|Bitmap)\)\(([^)]+)\)/
126
126
  track = $1.to_i
127
127
  track_info = {}
@@ -166,7 +166,7 @@ module VideoTranscoding
166
166
  track_info[:default] = false
167
167
  end
168
168
 
169
- if @scan =~ /[ ]+Stream #0\.#{stream}[^ ]*: Audio: [^\n]+\n[ ]+Metadata:\n^[ ]+title[ ]+: ([^\n]+)/m
169
+ if @scan =~ /[ ]+Stream #0\.#{stream}[^ ]*: Audio: [^\n]+\n[ ]+Metadata:\r?\n^[ ]+title[ ]+: ([^\r\n]+)/m
170
170
  track_info[:name] = $1
171
171
  else
172
172
  track_info[:name] = nil
@@ -188,7 +188,7 @@ module VideoTranscoding
188
188
  track_info[:forced] = false
189
189
  end
190
190
 
191
- if @scan =~ /[ ]+Stream #0\.#{stream}[^ ]*: Subtitle: [^\n]+\n[ ]+Metadata:\n^[ ]+title[ ]+: ([^\n]+)/m
191
+ if @scan =~ /[ ]+Stream #0\.#{stream}[^ ]*: Subtitle: [^\n]+\n[ ]+Metadata:\r?\n^[ ]+title[ ]+: ([^\r\n]+)/m
192
192
  track_info[:name] = $1
193
193
  else
194
194
  track_info[:name] = nil
@@ -5,5 +5,5 @@
5
5
  #
6
6
 
7
7
  module VideoTranscoding
8
- VERSION = '0.1.1'
8
+ VERSION = '0.1.2'
9
9
  end
Binary file
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.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Don Melton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-05-06 00:00:00.000000000 Z
11
+ date: 2015-05-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |2
14
14
  Video Transcoding is a package of tools to transcode, inspect
@@ -46,6 +46,7 @@ files:
46
46
  - lib/video_transcoding/tool.rb
47
47
  - lib/video_transcoding/version.rb
48
48
  - video_transcoding-0.1.0.gem
49
+ - video_transcoding-0.1.1.gem
49
50
  - video_transcoding.gemspec
50
51
  homepage: https://github.com/donmelton/video_transcoding
51
52
  licenses: