Opened 12 years ago

Closed 12 years ago

#3809 closed patch (fixed)

Nuvexport - Supporting ffmpeg codec name changes

Reported by: skd5aner@… Owned by: xris
Priority: minor Milestone: unknown
Component: perl / nuvexport Version: head
Severity: medium Keywords:
Cc: Ticket locked: no

Description

ffmpeg recently changed the way they reference some of the compiled codecs. This causes nuvexport to disable plugins that once worked. A few patches have been submitted to the mailing list to resolve this issue, and they appear to work for me by enabling xvid and MP4 (and PSP) again.

Patch 1: nuvexport-ffmpeg_xvid_rename.patch http://www.gossamer-threads.com/lists/mythtv/dev/282791 Created by: Wade Fixes xvid.pm so that it references libxvid in addition to the traditional xvid used by previous versions of ffmpeg.

Path 2: nuvexport-ffmpeg_aac_rename.patch http://www.gossamer-threads.com/lists/mythtv/dev/282597 Created by: Ken Fixes aac.pm so that it references libfaac in addition to the traditional aac used by previous versions of ffmpeg.

I hope Wade and Ken don't mind that I post these patches here, but I thought attaching them to a ticket seem like a better idea than simply to the mailing list. Especially since they are both related.

I do have another issue related to h264, but I'll open a seperate ticket for that.

Attachments (6)

nuvexport-ffmpeg_xvid_rename.patch (1.4 KB) - added by skd5aner@… 12 years ago.
nuvexport-ffmpeg_aac_rename.patch (1.2 KB) - added by skd5aner@… 12 years ago.
nuvexport-ffmpeg_psp_rename.patch (1.2 KB) - added by Ken Overly <ken.overly@…> 12 years ago.
ffmpeg -formats output (7.6 KB) - added by Ken Overly <ken.overly@…> 12 years ago.
Output from ffmpeg -formats using ffmpeg r9852
ffmpeg-r10255-formats.txt (7.5 KB) - added by skd5aner@… 12 years ago.
MP4.pm (13.1 KB) - added by anonymous 12 years ago.
MP4.pm with libfaac and libx264 fixed, allowing iPod encoding

Download all attachments as: .zip

Change History (13)

Changed 12 years ago by skd5aner@…

Changed 12 years ago by skd5aner@…

comment:1 Changed 12 years ago by Ken Overly <ken.overly@…>

The ffmpeg PSP module uses libfaac and thus is also affected by the change in ffmpeg. A patch is attached for the PSP module.

Changed 12 years ago by Ken Overly <ken.overly@…>

comment:2 Changed 12 years ago by xris

I don't have access to a new enough copy of ffmpeg. Can you attach the output from:

ffmpeg -formats

comment:3 Changed 12 years ago by Ken Overly <ken.overly@…>

Attaching output from 'ffmpeg -formats' from my version of ffmpeg (r9852)

Changed 12 years ago by Ken Overly <ken.overly@…>

Attachment: ffmpeg -formats output added

Output from ffmpeg -formats using ffmpeg r9852

comment:4 Changed 12 years ago by skd5aner@…

I'm attaching the output of ffmpeg -formats from ffmpeg svn r10255

Changed 12 years ago by skd5aner@…

Attachment: ffmpeg-r10255-formats.txt added

comment:5 Changed 12 years ago by anonymous

Thank you so much for these patches. The patches worked for me with nuvexport 0.4 and the bleeding edge SVN version of ffmpeg (SVN-r10932, current as of Nov 5 2007).

For those who don't know how to use patch files, you need to download the patch file in original format after clicking the link above (look for "Download in Other Formats" at the bottom of the page). Save them to the nuvexport-0.4 directory containing the nuvexport source files (after uncompressing the tarball). Then issue patch commands in the folowing format:

patch -p0 <nuvexport-ffmpeg_psp_rename.patch patch -p0 <nuvexport-ffmpeg_aac_rename.patch patch -p0 <nuvexport-ffmpeg_xvid_rename.patch

and finally, run:

sudo make install

comment:6 Changed 12 years ago by anonymous

One more comment:

Newer ffmpeg versions refer to h264 as libx264. To use libx264 with nuvexport requires another few modifications to [build directory]/export/ffmpeg/MP4.pm:

======== Modification #1 ========= ====change ...=====

elsif ($codec =~ /^h/) {
$self->{'mp4_codec'} = 'h264';
last;
}

to... =
elsif ($codec =~ /^h/) {
$self->{'mp4_codec'} = 'libx264';
last;
}

======= End modification #1 ==========

======= Modification # 2==============

======= Change .... ==========

# Options required for the codecs separately

if ($self->{'mp4_codec'} eq 'h264') {

$ffmpeg_xtra .= ' -level 30'

======== To.... =========

# Options required for the codecs separately

if ($self->{'mp4_codec'} eq 'libx264') {

$ffmpeg_xtra .= ' -level 30'

======= End modification #2 =========

... I left all of the other references to 'h264' in MP4.pm the same.

My MP4.pm is attached.

Changed 12 years ago by anonymous

Attachment: MP4.pm added

MP4.pm with libfaac and libx264 fixed, allowing iPod encoding

comment:7 Changed 12 years ago by xris

Resolution: fixed
Status: newclosed

In [14996], Update things to support ffmpeg's new codec name changes. Should close #3809

Note: See TracTickets for help on using tickets.