apple-tv-converter 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (48) hide show
  1. data/Gemfile +11 -0
  2. data/Gemfile.lock +44 -0
  3. data/README.md +3 -2
  4. data/bin/SublerCLI +0 -0
  5. data/gems/streamio-ffmpeg/CHANGELOG +198 -0
  6. data/gems/streamio-ffmpeg/Gemfile +3 -0
  7. data/gems/streamio-ffmpeg/LICENSE +20 -0
  8. data/gems/streamio-ffmpeg/README.md +180 -0
  9. data/gems/streamio-ffmpeg/Rakefile +22 -0
  10. data/gems/streamio-ffmpeg/lib/ffmpeg/encoding_options.rb +139 -0
  11. data/gems/streamio-ffmpeg/lib/ffmpeg/errors.rb +4 -0
  12. data/gems/streamio-ffmpeg/lib/ffmpeg/io_monkey.rb +42 -0
  13. data/gems/streamio-ffmpeg/lib/ffmpeg/movie.rb +206 -0
  14. data/gems/streamio-ffmpeg/lib/ffmpeg/stream.rb +15 -0
  15. data/gems/streamio-ffmpeg/lib/ffmpeg/transcoder.rb +120 -0
  16. data/gems/streamio-ffmpeg/lib/ffmpeg/version.rb +3 -0
  17. data/gems/streamio-ffmpeg/lib/streamio-ffmpeg.rb +49 -0
  18. data/gems/streamio-ffmpeg/spec/ffmpeg/encoding_options_spec.rb +135 -0
  19. data/gems/streamio-ffmpeg/spec/ffmpeg/movie_spec.rb +325 -0
  20. data/gems/streamio-ffmpeg/spec/ffmpeg/transcoder_spec.rb +210 -0
  21. data/gems/streamio-ffmpeg/spec/fixtures/bin/ffmpeg-audio-only +62 -0
  22. data/gems/streamio-ffmpeg/spec/fixtures/bin/ffmpeg-hanging +44 -0
  23. data/gems/streamio-ffmpeg/spec/fixtures/movies/awesome movie.mov +0 -0
  24. data/gems/streamio-ffmpeg/spec/fixtures/movies/awesome'movie.mov +0 -0
  25. data/gems/streamio-ffmpeg/spec/fixtures/movies/awesome_widescreen.mov +0 -0
  26. data/gems/streamio-ffmpeg/spec/fixtures/movies/broken.mp4 +0 -0
  27. data/gems/streamio-ffmpeg/spec/fixtures/movies/empty.flv +0 -0
  28. data/gems/streamio-ffmpeg/spec/fixtures/movies/sideways movie.mov +0 -0
  29. data/gems/streamio-ffmpeg/spec/fixtures/movies/weird_aspect.small.mpg +0 -0
  30. data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_iso-8859-1.txt +35 -0
  31. data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_no_audio.txt +18 -0
  32. data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_non_supported_audio.txt +29 -0
  33. data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_surround_sound.txt +19 -0
  34. data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_weird_dar.txt +24 -0
  35. data/gems/streamio-ffmpeg/spec/fixtures/sounds/napoleon.mp3 +0 -0
  36. data/gems/streamio-ffmpeg/spec/spec_helper.rb +21 -0
  37. data/gems/streamio-ffmpeg/spec/streamio-ffmpeg_spec.rb +40 -0
  38. data/gems/streamio-ffmpeg/streamio-ffmpeg.gemspec +19 -0
  39. data/lib/apple_tv_converter.rb +10 -4
  40. data/lib/apple_tv_converter/apple_tv_converter.sublime-project +0 -6
  41. data/lib/apple_tv_converter/apple_tv_converter.sublime-workspace +501 -378
  42. data/lib/apple_tv_converter/command_line.rb +46 -22
  43. data/lib/apple_tv_converter/media.rb +49 -16
  44. data/lib/apple_tv_converter/media_converter.rb +19 -18
  45. data/lib/apple_tv_converter/media_converter_adapter.rb +58 -14
  46. data/lib/apple_tv_converter/media_converter_mac_adapter.rb +46 -35
  47. data/lib/apple_tv_converter/version.rb +1 -1
  48. metadata +49 -12
@@ -0,0 +1,210 @@
1
+ require 'spec_helper.rb'
2
+
3
+ module FFMPEG
4
+ describe Transcoder do
5
+ let(:movie) { Movie.new("#{fixture_path}/movies/awesome movie.mov") }
6
+
7
+ describe "initialization" do
8
+ let(:output_path) { "#{tmp_path}/awesome.flv" }
9
+
10
+ it "should accept EncodingOptions as options" do
11
+ expect { Transcoder.new(movie, output_path, EncodingOptions.new) }.not_to raise_error(ArgumentError)
12
+ end
13
+
14
+ it "should accept Hash as options" do
15
+ expect { Transcoder.new(movie, output_path, video_codec: "libx264") }.not_to raise_error(ArgumentError)
16
+ end
17
+
18
+ it "should accept String as options" do
19
+ expect { Transcoder.new(movie, output_path, "-vcodec libx264") }.not_to raise_error(ArgumentError)
20
+ end
21
+
22
+ it "should not accept anything else as options" do
23
+ expect { Transcoder.new(movie, output_path, ["array?"]) }.to raise_error(ArgumentError, /Unknown options format/)
24
+ end
25
+ end
26
+
27
+ describe "transcoding" do
28
+ before do
29
+ FFMPEG.logger.should_receive(:info).at_least(:once)
30
+ end
31
+
32
+ context "when ffmpeg freezes" do
33
+ before do
34
+ @original_timeout = Transcoder.timeout
35
+ @original_ffmpeg_binary = FFMPEG.ffmpeg_binary
36
+
37
+ Transcoder.timeout = 1
38
+ FFMPEG.ffmpeg_binary = "#{fixture_path}/bin/ffmpeg-hanging"
39
+ end
40
+
41
+ it "should fail when the timeout is exceeded" do
42
+ FFMPEG.logger.should_receive(:error)
43
+ transcoder = Transcoder.new(movie, "#{tmp_path}/timeout.mp4")
44
+ expect { transcoder.run }.to raise_error(FFMPEG::Error, /Process hung/)
45
+ end
46
+
47
+ after do
48
+ Transcoder.timeout = @original_timeout
49
+ FFMPEG.ffmpeg_binary = @original_ffmpeg_binary
50
+ end
51
+ end
52
+
53
+ context "with timeout disabled" do
54
+ before do
55
+ @original_timeout = Transcoder.timeout
56
+ Transcoder.timeout = false
57
+ end
58
+
59
+ it "should still work" do
60
+ encoded = Transcoder.new(movie, "#{tmp_path}/awesome.mpg").run
61
+ encoded.resolution.should == "640x480"
62
+ end
63
+
64
+ after { Transcoder.timeout = @original_timeout }
65
+ end
66
+
67
+ it "should transcode the movie with progress given an awesome movie" do
68
+ FileUtils.rm_f "#{tmp_path}/awesome.flv"
69
+
70
+ transcoder = Transcoder.new(movie, "#{tmp_path}/awesome.flv")
71
+ progress_updates = []
72
+ transcoder.run { |progress| progress_updates << progress }
73
+ transcoder.encoded.should be_valid
74
+ progress_updates.should include(0.0, 1.0)
75
+ progress_updates.length.should >= 3
76
+ File.exists?("#{tmp_path}/awesome.flv").should be_true
77
+ end
78
+
79
+ it "should transcode the movie with EncodingOptions" do
80
+ FileUtils.rm_f "#{tmp_path}/optionalized.mp4"
81
+
82
+ options = {video_codec: "libx264", frame_rate: 10, resolution: "320x240", video_bitrate: 300,
83
+ audio_codec: "libfaac", audio_bitrate: 32, audio_sample_rate: 22050, audio_channels: 1}
84
+
85
+ encoded = Transcoder.new(movie, "#{tmp_path}/optionalized.mp4", options).run
86
+ encoded.video_bitrate.should be_within(90).of(300)
87
+ encoded.video_codec.should =~ /h264/
88
+ encoded.resolution.should == "320x240"
89
+ encoded.frame_rate.should == 10.0
90
+ encoded.audio_bitrate.should be_within(2).of(32)
91
+ encoded.audio_codec.should =~ /aac/
92
+ encoded.audio_sample_rate.should == 22050
93
+ encoded.audio_channels.should == 1
94
+ end
95
+
96
+ context "with aspect ratio preservation" do
97
+ before do
98
+ @movie = Movie.new("#{fixture_path}/movies/awesome_widescreen.mov")
99
+ @options = {resolution: "320x240"}
100
+ end
101
+
102
+ it "should work on width" do
103
+ special_options = {preserve_aspect_ratio: :width}
104
+
105
+ encoded = Transcoder.new(@movie, "#{tmp_path}/preserved_aspect.mp4", @options, special_options).run
106
+ encoded.resolution.should == "320x180"
107
+ end
108
+
109
+ it "should work on height" do
110
+ special_options = {preserve_aspect_ratio: :height}
111
+
112
+ encoded = Transcoder.new(@movie, "#{tmp_path}/preserved_aspect.mp4", @options, special_options).run
113
+ encoded.resolution.should == "426x240"
114
+ end
115
+
116
+ it "should not be used if original resolution is undeterminable" do
117
+ @movie.should_receive(:calculated_aspect_ratio).and_return(nil)
118
+ special_options = {preserve_aspect_ratio: :height}
119
+
120
+ encoded = Transcoder.new(@movie, "#{tmp_path}/preserved_aspect.mp4", @options, special_options).run
121
+ encoded.resolution.should == "320x240"
122
+ end
123
+
124
+ it "should round to resolutions divisible by 2" do
125
+ @movie.should_receive(:calculated_aspect_ratio).at_least(:once).and_return(1.234)
126
+ special_options = {preserve_aspect_ratio: :width}
127
+
128
+ encoded = Transcoder.new(@movie, "#{tmp_path}/preserved_aspect.mp4", @options, special_options).run
129
+ encoded.resolution.should == "320x260" # 320 / 1.234 should at first be rounded to 259
130
+ end
131
+ end
132
+
133
+ it "should transcode the movie with String options" do
134
+ FileUtils.rm_f "#{tmp_path}/string_optionalized.flv"
135
+
136
+ encoded = Transcoder.new(movie, "#{tmp_path}/string_optionalized.flv", "-s 300x200 -ac 2").run
137
+ encoded.resolution.should == "300x200"
138
+ encoded.audio_channels.should == 2
139
+ end
140
+
141
+ it "should transcode the movie which name include single quotation mark" do
142
+ FileUtils.rm_f "#{tmp_path}/output.flv"
143
+
144
+ movie = Movie.new("#{fixture_path}/movies/awesome'movie.mov")
145
+
146
+ expect { Transcoder.new(movie, "#{tmp_path}/output.flv").run }.not_to raise_error
147
+ end
148
+
149
+ it "should transcode when output filename includes single quotation mark" do
150
+ FileUtils.rm_f "#{tmp_path}/output with 'quote.flv"
151
+
152
+ expect { Transcoder.new(movie, "#{tmp_path}/output with 'quote.flv").run }.not_to raise_error
153
+ end
154
+
155
+ pending "should not crash on ISO-8859-1 characters (dont know how to spec this)"
156
+
157
+ it "should fail when given an invalid movie" do
158
+ FFMPEG.logger.should_receive(:error)
159
+ movie = Movie.new(__FILE__)
160
+ transcoder = Transcoder.new(movie, "#{tmp_path}/fail.flv")
161
+ expect { transcoder.run }.to raise_error(FFMPEG::Error, /no output file created/)
162
+ end
163
+
164
+ it "should encode to the specified duration if given" do
165
+ encoded = Transcoder.new(movie, "#{tmp_path}/durationalized.mp4", duration: 2).run
166
+
167
+ encoded.duration.should >= 1.8
168
+ encoded.duration.should <= 2.2
169
+ end
170
+
171
+ context "with screenshot option" do
172
+ it "should transcode to original movies resolution by default" do
173
+ encoded = Transcoder.new(movie, "#{tmp_path}/image.jpg", screenshot: true).run
174
+ encoded.resolution.should == "640x480"
175
+ end
176
+
177
+ it "should transcode absolute resolution if specified" do
178
+ encoded = Transcoder.new(movie, "#{tmp_path}/image.bmp", screenshot: true, seek_time: 3, resolution: '400x200').run
179
+ encoded.resolution.should == "400x200"
180
+ end
181
+
182
+ it "should be able to preserve aspect ratio" do
183
+ encoded = Transcoder.new(movie, "#{tmp_path}/image.png", {screenshot: true, seek_time: 4, resolution: '320x500'}, preserve_aspect_ratio: :width).run
184
+ encoded.resolution.should == "320x240"
185
+ end
186
+ end
187
+
188
+ context "audio only" do
189
+ before do
190
+ @original_timeout = Transcoder.timeout
191
+ @original_ffmpeg_binary = FFMPEG.ffmpeg_binary
192
+
193
+ Transcoder.timeout = 1
194
+ FFMPEG.ffmpeg_binary = "#{fixture_path}/bin/ffmpeg-audio-only"
195
+ end
196
+
197
+ it "should not fail when the timeout is exceeded" do
198
+ transcoder = Transcoder.new(movie, "#{tmp_path}/timeout.mp4")
199
+ expect { transcoder.run }.not_to raise_error(FFMPEG::Error, /Process hung/)
200
+ end
201
+
202
+ after do
203
+ Transcoder.timeout = @original_timeout
204
+ FFMPEG.ffmpeg_binary = @original_ffmpeg_binary
205
+ end
206
+ end
207
+
208
+ end
209
+ end
210
+ end
@@ -0,0 +1,62 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $stderr.puts <<-OUTPUT
4
+ ffmpeg version 1.1 Copyright (c) 2000-2013 the FFmpeg developers
5
+ built on Jan 16 2013 13:01:30 with Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
6
+ configuration: --prefix=/usr/local/Cellar/ffmpeg/1.1 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-avresample --cc=cc --host-cflags= --host-ldflags= --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libxvid --enable-libvorbis --enable-libvpx --enable-librtmp --enable-libvo-aacenc
7
+ libavutil 52. 13.100 / 52. 13.100
8
+ libavcodec 54. 86.100 / 54. 86.100
9
+ libavformat 54. 59.106 / 54. 59.106
10
+ libavdevice 54. 3.102 / 54. 3.102
11
+ libavfilter 3. 32.100 / 3. 32.100
12
+ libswscale 2. 1.103 / 2. 1.103
13
+ libswresample 0. 17.102 / 0. 17.102
14
+ libpostproc 52. 2.100 / 52. 2.100
15
+ Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'test.mp4':
16
+ Metadata:
17
+ major_brand : mp42
18
+ minor_version : 0
19
+ compatible_brands: isommp42
20
+ creation_time : 2013-01-09 14:28:40
21
+ Duration: 02:27:46.52, start: 0.000000, bitrate: 2206 kb/s
22
+ Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 2041 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc
23
+ Metadata:
24
+ creation_time : 2013-01-09 14:28:41
25
+ handler_name : Mainconcept MP4 Video Media Handler
26
+ Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 61 kb/s
27
+ Metadata:
28
+ creation_time : 2013-01-09 14:28:41
29
+ handler_name : Mainconcept MP4 Sound Media Handler
30
+ Stream #0:2(und): Data: none (rtp / 0x20707472)
31
+ Metadata:
32
+ creation_time : 2013-01-08 16:14:36
33
+ handler_name : GPAC ISO Hint Handler
34
+ Stream #0:3(und): Data: none (rtp / 0x20707472)
35
+ Metadata:
36
+ creation_time : 2013-01-08 16:15:08
37
+ handler_name : GPAC ISO Hint Handler
38
+ Output #0, mp3, to 'audio_only.mp3':
39
+ Metadata:
40
+ major_brand : mp42
41
+ minor_version : 0
42
+ compatible_brands: isommp42
43
+ TSSE : Lavf54.59.106
44
+ Stream #0:0(eng): Audio: mp3, 48000 Hz, stereo, fltp, 48 kb/s
45
+ Metadata:
46
+ creation_time : 2013-01-09 14:28:41
47
+ handler_name : Mainconcept MP4 Sound Media Handler
48
+ OUTPUT
49
+
50
+ if ARGV.length > 2 # looks like we're trying to transcode
51
+ $stderr.puts <<-OUTPUT
52
+ Stream mapping:
53
+ Stream #0:1 -> #0:0 (aac -> libmp3lame)
54
+ Press [q] to stop, [?] for help
55
+ OUTPUT
56
+ 3.times do
57
+ $stderr.write "size= 51953kB time=02:27:46.48 bitrate= 48.0kbits/s\r"
58
+ sleep 0.5
59
+ end
60
+ else
61
+ $stderr.puts "At least one output file must be specified"
62
+ end
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $stderr.puts <<-OUTPUT
4
+ ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg developers
5
+ built on Jun 27 2012 11:39:49 with llvm_gcc 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
6
+ configuration: --prefix=/usr/local/Cellar/ffmpeg/0.11.1 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-libfreetype --cc=/usr/bin/llvm-gcc --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-aacenc --disable-ffplay
7
+ libavutil 51. 54.100 / 51. 54.100
8
+ libavcodec 54. 23.100 / 54. 23.100
9
+ libavformat 54. 6.100 / 54. 6.100
10
+ libavdevice 54. 0.100 / 54. 0.100
11
+ libavfilter 2. 77.100 / 2. 77.100
12
+ libswscale 2. 1.100 / 2. 1.100
13
+ libswresample 0. 15.100 / 0. 15.100
14
+ libpostproc 52. 0.100 / 52. 0.100
15
+ Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'spec/fixtures/movies/awesome_widescreen.mov':
16
+ Metadata:
17
+ major_brand : isom
18
+ minor_version : 512
19
+ compatible_brands: isomiso2avc1mp41
20
+ creation_time : 1970-01-01 00:00:00
21
+ encoder : Lavf52.61.0
22
+ Duration: 00:00:07.33, start: 0.000000, bitrate: 321 kb/s
23
+ Stream #0:0(und): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 320x180 [SAR 1:1 DAR 16:9], 291 kb/s, 10 fps, 10 tbr, 10 tbn, 20 tbc
24
+ Metadata:
25
+ creation_time : 1970-01-01 00:00:00
26
+ handler_name : VideoHandler
27
+ Stream #0:1(und): Audio: aac (mp4a / 0x6134706D), 22050 Hz, mono, s16, 31 kb/s
28
+ Metadata:
29
+ creation_time : 1970-01-01 00:00:00
30
+ handler_name : SoundHandler
31
+ OUTPUT
32
+
33
+ if ARGV.length > 2 # looks like we're trying to transcode
34
+ $stderr.puts <<-OUTPUT
35
+ Stream mapping:
36
+ Stream #0:0 -> #0:0 (h264 -> libx264)
37
+ Stream #0:1 -> #0:1 (aac -> libfaac)
38
+ Press [q] to stop, [?] for help
39
+ OUTPUT
40
+ $stderr.puts "frame= 72 fps=0.0 q=32766.0 Lsize= 115kB time=00:00:07.00 bitrate= 134.6kbits/s"
41
+ loop { sleep 1 } # omg hang!
42
+ else
43
+ $stderr.puts "At least one output file must be specified"
44
+ end
@@ -0,0 +1,35 @@
1
+ FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
2
+ built on Nov 18 2010 13:51:50 with gcc 4.2.1 (Apple Inc. build 5664)
3
+ configuration: --disable-debug --prefix=/usr/local/Cellar/ffmpeg/0.6.1 --enable-shared --enable-pthreads --enable-nonfree --enable-gpl --disable-indev=jack --enable-libx264 --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid
4
+ libavutil 50.15. 1 / 50.15. 1
5
+ libavcodec 52.72. 2 / 52.72. 2
6
+ libavformat 52.64. 2 / 52.64. 2
7
+ libavdevice 52. 2. 0 / 52. 2. 0
8
+ libswscale 0.11. 0 / 0.11. 0
9
+ [mov,mp4,m4a,3gp,3g2,mj2 @ 0x10180b000]multiple edit list entries, a/v desync might occur, patch welcome
10
+ [mov,mp4,m4a,3gp,3g2,mj2 @ 0x10180b000]max_analyze_duration reached
11
+
12
+ Seems stream 0 codec frame rate differs from container frame rate: 5000.00 (5000/1) -> 25.00 (25/1)
13
+ Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'spec/fixtures/movies/rails3upgrade.mov':
14
+ Metadata:
15
+ major_brand : qt
16
+ minor_version : 537199360
17
+ compatible_brands: qt
18
+ Duration: 00:24:42.61, start: 0.000000, bitrate: 546 kb/s
19
+ Chapter #0.0: start 142.240000, end 532.679600
20
+ Metadata:
21
+ title : ��R
22
+ Chapter #0.1: start 532.679600, end 788.119600
23
+ Metadata:
24
+ title : ��r
25
+ Chapter #0.2: start 788.119600, end 1160.159600
26
+ Metadata:
27
+ title : ��b
28
+ Chapter #0.3: start 1160.159600, end 1340.359200
29
+ Metadata:
30
+ title : ��A
31
+ Stream #0.0(eng): Video: h264, yuv420p, 1000x600, 480 kb/s, 25 fps, 25 tbr, 2500 tbn, 5k tbc
32
+ Stream #0.1(eng): Data: tmcd / 0x64636D74
33
+ Stream #0.2(eng): Audio: aac, 44100 Hz, mono, s16, 64 kb/s
34
+ Stream #0.3(eng): Subtitle: text / 0x74786574, 0 kb/s
35
+ At least one output file must be specified
@@ -0,0 +1,18 @@
1
+ FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
2
+ built on Nov 18 2010 13:51:50 with gcc 4.2.1 (Apple Inc. build 5664)
3
+ configuration: --disable-debug --prefix=/usr/local/Cellar/ffmpeg/0.6.1 --enable-shared --enable-pthreads --enable-nonfree --enable-gpl --disable-indev=jack --enable-libx264 --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid
4
+ libavutil 50.15. 1 / 50.15. 1
5
+ libavcodec 52.72. 2 / 52.72. 2
6
+ libavformat 52.64. 2 / 52.64. 2
7
+ libavdevice 52. 2. 0 / 52. 2. 0
8
+ libswscale 0.11. 0 / 0.11. 0
9
+
10
+ Seems stream 0 codec frame rate differs from container frame rate: 2500.00 (2500/1) -> 25.00 (25/1)
11
+ Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'broken.mov':
12
+ Metadata:
13
+ major_brand : qt
14
+ minor_version : 537199360
15
+ compatible_brands: qt
16
+ Duration: 00:00:23.12, start: 0.000000, bitrate: 28033 kb/s
17
+ Stream #0.0(eng): Video: Apple ProRes 422, 410x620, 28029 kb/s, 25 fps, 25 tbr, 2500 tbn, 2500 tbc
18
+ At least one output file must be specified
@@ -0,0 +1,29 @@
1
+ ffmpeg version 0.8, Copyright (c) 2000-2011 the FFmpeg developers
2
+ built on Jul 20 2011 10:41:26 with gcc 4.2.1 (Apple Inc. build 5664)
3
+ configuration: --prefix=/usr/local/Cellar/ffmpeg/0.8 --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid
4
+ libavutil 51. 9. 1 / 51. 9. 1
5
+ libavcodec 53. 7. 0 / 53. 7. 0
6
+ libavformat 53. 4. 0 / 53. 4. 0
7
+ libavdevice 53. 1. 1 / 53. 1. 1
8
+ libavfilter 2. 23. 0 / 2. 23. 0
9
+ libswscale 2. 0. 0 / 2. 0. 0
10
+ libpostproc 51. 2. 0 / 51. 2. 0
11
+ [aac @ 0x101820400] Audio object type 23 is not supported.
12
+ Last message repeated 471 times
13
+ [mov,mp4,m4a,3gp,3g2,mj2 @ 0x101807c00] max_analyze_duration 5000000 reached at 5002667
14
+
15
+ Seems stream 1 codec frame rate differs from container frame rate: 96000.00 (96000/1) -> 48000.00 (96000/2)
16
+ Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'no_audio_channel_info.mov':
17
+ Metadata:
18
+ major_brand : qt
19
+ minor_version : 537199360
20
+ compatible_brands: qt
21
+ creation_time : 2009-05-26 14:36:22
22
+ Duration: 00:13:15.81, start: 0.000000, bitrate: 4825 kb/s
23
+ Stream #0.0(eng): Audio: aac, stereo, 182 kb/s
24
+ Metadata:
25
+ creation_time : 2009-05-26 14:36:22
26
+ Stream #0.1(eng): Video: h264 (Main), yuv420p, 768x434, 4636 kb/s, 25 fps, 48k tbr, 48k tbn, 96k tbc
27
+ Metadata:
28
+ creation_time : 2009-05-26 14:36:22
29
+ At least one output file must be specified
@@ -0,0 +1,19 @@
1
+ FFmpeg version 0.6.1, Copyright (c) 2000-2010 the FFmpeg developers
2
+ built on Nov 18 2010 13:51:50 with gcc 4.2.1 (Apple Inc. build 5664)
3
+ configuration: --disable-debug --prefix=/usr/local/Cellar/ffmpeg/0.6.1 --enable-shared --enable-pthreads --enable-nonfree --enable-gpl --disable-indev=jack --enable-libx264 --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid
4
+ libavutil 50.15. 1 / 50.15. 1
5
+ libavcodec 52.72. 2 / 52.72. 2
6
+ libavformat 52.64. 2 / 52.64. 2
7
+ libavdevice 52. 2. 0 / 52. 2. 0
8
+ libswscale 0.11. 0 / 0.11. 0
9
+
10
+ Seems stream 0 codec frame rate differs from container frame rate: 1200.00 (1200/1) -> 25.00 (25/1)
11
+ Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'bigbucksbunny_trailer_720p.mov':
12
+ Metadata:
13
+ major_brand : qt
14
+ minor_version : 537199360
15
+ compatible_brands: qt
16
+ Duration: 00:00:33.00, start: 0.000000, bitrate: 4317 kb/s
17
+ Stream #0.0(eng): Video: h264, yuv420p, 1280x720, 3945 kb/s, 25 fps, 25 tbr, 600 tbn, 1200 tbc
18
+ Stream #0.1(eng): Audio: aac, 48000 Hz, 5.1, s16, 428 kb/s
19
+ At least one output file must be specified
@@ -0,0 +1,24 @@
1
+ ffmpeg version 0.8.5, Copyright (c) 2000-2011 the FFmpeg developers
2
+ built on Oct 17 2011 12:25:58 with gcc 4.2.1 (Apple Inc. build 5666) (dot 3)
3
+ configuration: --prefix=/usr/local/Cellar/ffmpeg/0.8.5 --enable-shared --enable-gpl --enable-version3 --enable-nonfree --enable-hardcoded-tables --cc=/usr/bin/gcc-4.2 --enable-libx264 --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libxvid
4
+ libavutil 51. 9. 1 / 51. 9. 1
5
+ libavcodec 53. 7. 0 / 53. 7. 0
6
+ libavformat 53. 4. 0 / 53. 4. 0
7
+ libavdevice 53. 1. 1 / 53. 1. 1
8
+ libavfilter 2. 23. 0 / 2. 23. 0
9
+ libswscale 2. 0. 0 / 2. 0. 0
10
+ libpostproc 51. 2. 0 / 51. 2. 0
11
+ Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/Users/druiden/Movies/clips/metal_gear-aspect-ratio-fail.mov':
12
+ Metadata:
13
+ major_brand : qt
14
+ minor_version : 537199360
15
+ compatible_brands: qt
16
+ creation_time : 2011-05-31 01:47:42
17
+ Duration: 00:02:40.63, start: 0.000000, bitrate: 17495 kb/s
18
+ Stream #0.0(eng): Video: h264 (Main), yuv420p, 1280x720, 15955 kb/s, PAR 16777216:16777216 DAR 0:1, 30 fps, 30 tbr, 30 tbn, 60 tbc
19
+ Metadata:
20
+ creation_time : 2011-05-31 01:47:42
21
+ Stream #0.1(eng): Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
22
+ Metadata:
23
+ creation_time : 2011-05-31 01:47:42
24
+ At least one output file must be specified