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.
- data/Gemfile +11 -0
- data/Gemfile.lock +44 -0
- data/README.md +3 -2
- data/bin/SublerCLI +0 -0
- data/gems/streamio-ffmpeg/CHANGELOG +198 -0
- data/gems/streamio-ffmpeg/Gemfile +3 -0
- data/gems/streamio-ffmpeg/LICENSE +20 -0
- data/gems/streamio-ffmpeg/README.md +180 -0
- data/gems/streamio-ffmpeg/Rakefile +22 -0
- data/gems/streamio-ffmpeg/lib/ffmpeg/encoding_options.rb +139 -0
- data/gems/streamio-ffmpeg/lib/ffmpeg/errors.rb +4 -0
- data/gems/streamio-ffmpeg/lib/ffmpeg/io_monkey.rb +42 -0
- data/gems/streamio-ffmpeg/lib/ffmpeg/movie.rb +206 -0
- data/gems/streamio-ffmpeg/lib/ffmpeg/stream.rb +15 -0
- data/gems/streamio-ffmpeg/lib/ffmpeg/transcoder.rb +120 -0
- data/gems/streamio-ffmpeg/lib/ffmpeg/version.rb +3 -0
- data/gems/streamio-ffmpeg/lib/streamio-ffmpeg.rb +49 -0
- data/gems/streamio-ffmpeg/spec/ffmpeg/encoding_options_spec.rb +135 -0
- data/gems/streamio-ffmpeg/spec/ffmpeg/movie_spec.rb +325 -0
- data/gems/streamio-ffmpeg/spec/ffmpeg/transcoder_spec.rb +210 -0
- data/gems/streamio-ffmpeg/spec/fixtures/bin/ffmpeg-audio-only +62 -0
- data/gems/streamio-ffmpeg/spec/fixtures/bin/ffmpeg-hanging +44 -0
- data/gems/streamio-ffmpeg/spec/fixtures/movies/awesome movie.mov +0 -0
- data/gems/streamio-ffmpeg/spec/fixtures/movies/awesome'movie.mov +0 -0
- data/gems/streamio-ffmpeg/spec/fixtures/movies/awesome_widescreen.mov +0 -0
- data/gems/streamio-ffmpeg/spec/fixtures/movies/broken.mp4 +0 -0
- data/gems/streamio-ffmpeg/spec/fixtures/movies/empty.flv +0 -0
- data/gems/streamio-ffmpeg/spec/fixtures/movies/sideways movie.mov +0 -0
- data/gems/streamio-ffmpeg/spec/fixtures/movies/weird_aspect.small.mpg +0 -0
- data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_iso-8859-1.txt +35 -0
- data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_no_audio.txt +18 -0
- data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_non_supported_audio.txt +29 -0
- data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_surround_sound.txt +19 -0
- data/gems/streamio-ffmpeg/spec/fixtures/outputs/file_with_weird_dar.txt +24 -0
- data/gems/streamio-ffmpeg/spec/fixtures/sounds/napoleon.mp3 +0 -0
- data/gems/streamio-ffmpeg/spec/spec_helper.rb +21 -0
- data/gems/streamio-ffmpeg/spec/streamio-ffmpeg_spec.rb +40 -0
- data/gems/streamio-ffmpeg/streamio-ffmpeg.gemspec +19 -0
- data/lib/apple_tv_converter.rb +10 -4
- data/lib/apple_tv_converter/apple_tv_converter.sublime-project +0 -6
- data/lib/apple_tv_converter/apple_tv_converter.sublime-workspace +501 -378
- data/lib/apple_tv_converter/command_line.rb +46 -22
- data/lib/apple_tv_converter/media.rb +49 -16
- data/lib/apple_tv_converter/media_converter.rb +19 -18
- data/lib/apple_tv_converter/media_converter_adapter.rb +58 -14
- data/lib/apple_tv_converter/media_converter_mac_adapter.rb +46 -35
- data/lib/apple_tv_converter/version.rb +1 -1
- 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
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -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
|