Skip to content

Commit 39c7331

Browse files
committed
first start of support for ffmpeg 0.5.. includes fixing trellis parameter to close #5923
1 parent 5212799 commit 39c7331

File tree

4 files changed

+36
-39
lines changed

4 files changed

+36
-39
lines changed

nuvexport/export/ffmpeg.pm

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -72,24 +72,29 @@ package export::ffmpeg;
7272
# Check the ffmpeg version
7373
if (!defined $self->{'ffmpeg_vers'}) {
7474
$data = `$ffmpeg -version 2>&1`;
75-
if ($data =~ m/ffmpeg\sversion\s0.4.9-\d+_r(\d+)\.\w+\.at/si) {
76-
$self->{'ffmpeg_vers'} = 'svn';
77-
$self->{'ffmpeg_build'} = $1;
75+
if ($data =~ m/ffmpeg\sversion\s0.5-/si) {
76+
$self->{'ffmpeg_vers'} = '0.5';
7877
}
79-
elsif ($data =~ m/ffmpeg\sversion\s(.+?),(?:\sbuild\s(\d+))?/si) {
80-
$self->{'ffmpeg_vers'} = lc($1);
81-
$self->{'ffmpeg_build'} = $2;
82-
if ($self->{'ffmpeg_vers'} =~ /^svn-r(.+?)$/) {
83-
$self->{'ffmpeg_vers'} = 'svn';
84-
$self->{'ffmpeg_build'} = $1;
85-
}
78+
# Disabled unti I need the formatting again to detect wacky ffmpeg
79+
# versions if they go back to releasing things the old way.
80+
#elsif ($data =~ m/ffmpeg\sversion\s0.4.9-\d+_r(\d+)\.\w+\.at/si) {
81+
# $self->{'ffmpeg_vers'} = 'svn';
82+
# $self->{'ffmpeg_build'} = $1;
83+
#}
84+
#elsif ($data =~ m/ffmpeg\sversion\s(.+?),(?:\sbuild\s(\d+))?/si) {
85+
# $self->{'ffmpeg_vers'} = lc($1);
86+
# $self->{'ffmpeg_build'} = $2;
87+
# if ($self->{'ffmpeg_vers'} =~ /^svn-r(.+?)$/) {
88+
# $self->{'ffmpeg_vers'} = 'svn';
89+
# $self->{'ffmpeg_build'} = $1;
90+
# }
8691
}
8792
else {
8893
push @{$self->{'errors'}}, 'Unrecognizeable ffmpeg version string.';
8994
}
9095
}
91-
if ($self->{'ffmpeg_vers'} !~ /cvs|svn/) {
92-
die "This version of nuvexport requires either the cvs or svn version of ffmpeg.\n";
96+
if ($self->{'ffmpeg_vers'} ne '0.5') {
97+
die "This version of nuvexport requires ffmpeg 0.5.\n";
9398
}
9499
# Audio only?
95100
$self->{'audioonly'} = $audioonly;

nuvexport/export/ffmpeg/MP4.pm

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -113,25 +113,19 @@ package export::ffmpeg::MP4;
113113
'yesno',
114114
$self->val('ipod'));
115115
# Video codec
116-
if ($self->{'ffmpeg_vers'} eq 'svn') {
117-
while (1) {
118-
my $codec = query_text('Video codec (mpeg4 or h264)?',
119-
'string',
120-
$self->{'mp4_codec'});
121-
if ($codec =~ /^m/) {
122-
$self->{'mp4_codec'} = 'mpeg4';
123-
last;
124-
}
125-
elsif ($codec =~ /^h/) {
126-
$self->{'mp4_codec'} = 'h264';
127-
last;
128-
}
129-
print "Please choose either mpeg4 or h264\n";
116+
while (1) {
117+
my $codec = query_text('Video codec (mpeg4 or h264)?',
118+
'string',
119+
$self->{'mp4_codec'});
120+
if ($codec =~ /^m/) {
121+
$self->{'mp4_codec'} = 'mpeg4';
122+
last;
130123
}
131-
}
132-
else {
133-
$self->{'mp4_codec'} = 'mpeg4';
134-
print "Using the mpeg4 codec (h.264 mp4/ipod encoding requires the svn version of ffmpeg.)\n";
124+
elsif ($codec =~ /^h/) {
125+
$self->{'mp4_codec'} = 'h264';
126+
last;
127+
}
128+
print "Please choose either mpeg4 or h264\n";
135129
}
136130
# Video bitrate options
137131
$self->{'vbr'} = query_text('Variable bitrate video?',
@@ -166,10 +160,6 @@ package export::ffmpeg::MP4;
166160
'int',
167161
$self->val('v_bitrate'));
168162
}
169-
# Complain about h264
170-
if ($self->{'mp4_codec'} eq 'h264' && $self->{'ffmpeg_vers'} ne 'svn') {
171-
die "h.264 mp4/ipod encoding requires the svn version of ffmpeg.\n";
172-
}
173163
# Loop, in case we need to verify ipod compatibility
174164
while (1) {
175165
# Query the resolution
@@ -237,7 +227,8 @@ package export::ffmpeg::MP4;
237227
;
238228
}
239229
else {
240-
$ffmpeg_xtra .= ' -flags +mv4+trell+loop'
230+
$ffmpeg_xtra .= ' -flags +mv4+loop'
231+
.' -trellis 1'
241232
.' -aic 1'
242233
.' -mbd 1'
243234
.' -cmp 2 -subcmp 2'

nuvexport/export/ffmpeg/XviD.pm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,8 @@ package export::ffmpeg::XviD;
150150
. $self->param('bit_rate_tolerance', 32)
151151
. ' -bufsize 65535'
152152
: '')
153-
.' -flags +mv4+trell+loop'
153+
.' -flags +mv4+loop'
154+
.' -trellis 1'
154155
.' -aic 1'
155156
.' -mbd 1'
156157
.' -cmp 2 -subcmp 2'

nuvexport/nuvexport.spec

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
Name: nuvexport
66
Version: 0.5
7-
Release: 0.20080311.svn
7+
Release: 0.20090409.svn
88
License: GPL
99
Summary: mythtv nuv video file conversion script
1010
URL: http://forevermore.net/nuvexport/
@@ -21,8 +21,8 @@ Requires: perl-DateManip
2121
Requires: perl-DBD-MySQL
2222
Requires: perl-DBI
2323
Requires: perl-MythTV >= 0.21
24-
Requires: transcode >= 0.6.12
25-
Requires: ffmpeg >= 0.4.9
24+
Requires: transcode >= 1.0
25+
Requires: ffmpeg >= 0.5
2626
Requires: mjpegtools >= 1.6.2
2727
Requires: mplayer
2828

0 commit comments

Comments
 (0)