Opened 13 years ago

Closed 12 years ago

#3810 closed defect (duplicate)

nuvexport - h264 not properly passed to ffmpeg

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

Description

Whenever trying to create an MP4 transcode using the h264 codec, I get a return code from ffmpeg stating: Unknown codec 'h264'

However, h264 has been properly compiled into ffmpeg. I'm assuming that this might be related to the same issues related to xvid and aac in #3809.

nuvexport --version nuvexport version: 0.5 (SVN head as of 8/9/2007)

ffmpeg --version FFmpeg version SVN-r10020

Choose a function, or episode(s) to remove:  c
Where would you like to export the files to? [.]
Enable Myth cutlist? [Yes]
Enable noise reduction (slower, but better results)? [No]
Enable deinterlacing? [Yes]
Crop broadcast overscan border (0-5%) ? [1.5] .5
Audio bitrate? [64] 128
Enable iPod compatibility? [Yes] no
Video codec (mpeg4 or h264)? [h264]
Variable bitrate video? [Yes]
Multi-pass (slower, but better quality)? [Yes]
Video bitrate? [384]
Default resolution based on requested dimensions.
Width? [320] 640
Height? [480]

Now encoding:  TV Show:  Untitled
Encode started:  Thu Aug  9 17:07:26 2007
First pass...
Waiting for mythtranscode to set up the fifos.
Starting ffmpeg.
processed:  0 of -138631 frames at 0 fps (~%, eta: unknown)

ffmpeg had critical errors:

Unknown codec 'h264'

Cleaning up temp files.
Cleaning up child processes.

And here's the debug lines:

system call:
mkdir -m 0755 /tmp/fifodir_18501/

forking:
/usr/bin/nice -n19 /usr/local/bin/mythtranscode --showprogress -p '0' -c '1005' -s '2006-05-27T22:30:00' -f "/tmp/fifodir_18501/" --honorcutlist --fifosync 2>&

forking:
cat /tmp/fifodir_18501/audout > /dev/null

forking:
/usr/bin/nice -n19 ffmpeg -threads 2 -y -f s16le -ar 48000 -ac 2 -f rawvideo -pix_fmt yuv420p -s 480x480 -aspect 1.33333333333333 -r 29.970 -i /tmp/fifodir_185            ut -aspect 1.33333333333333 -r 29.97 -deinterlace -croptop    24 -cropright 24 -cropbottom 24 -cropleft  24 -s 640x480  -pass 1 -vcodec h264 -b '384k' -title '            y Night Live' -level 30 -loop 1 -g 250 -keyint_min 25 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -bt '384k' -maxrate '768k' -bufsize '244k' -i_qfactor '0.714            -b_qfactor '0.76923078' -bf '0' -qcomp '0.6' -qmax '51' -qdiff '4' -f mp4 -refs 1 -subq 1 -trellis 0 /dev/null 2>&1
Final pass...

system call:
mkdir -m 0755 /tmp/fifodir_18501/

forking:
/usr/bin/nice -n19 /usr/local/bin/mythtranscode --showprogress -p '0' -c '1005' -s '2006-05-27T22:30:00' -f "/tmp/fifodir_18501/" --honorcutlist 2>&1

forking:
/usr/bin/nice -n19 ffmpeg -threads 2 -y -f s16le -ar 48000 -ac 2 -i /tmp/fifodir_18501/audout -f rawvideo -pix_fmt yuv420p -s 480x480 -aspect 1.33333333333333             70 -i /tmp/fifodir_18501/vidout -aspect 1.33333333333333 -r 29.97 -deinterlace -croptop    24 -cropright 24 -cropbottom 24 -cropleft  24 -s 640x480  -pass 2  -            h264 -b '384k' -title 'TV Show' -level 30 -loop 1 -g 250 -keyint_min 25 -sc_threshold 40 -rc_eq 'blurCplx^(1-qComp)' -bt '384k' -maxrate '768k' -bu            244k' -i_qfactor '0.71428572' -b_qfactor '0.76923078' -bf '0' -qcomp '0.6' -qmax '51' -qdiff '4' -refs 7 -subq 7 -partitions parti4x4+parti8x8+partp4x4+partp8x            8x8 -flags2 +bpyramid+wpred+mixed_refs+8x8dct+brdo -me_range 21 -trellis 2 -chroma 1 -slice 2 -cmp 1 -deblockalpha 0 -deblockbeta 0 -acodec libfaac -ar 48000 -             -ab '128k' './TV Show.mp4' 2>&1

Change History (2)

comment:1 Changed 13 years ago by skd5aner@…

Well, I figured out that h264 is now referenced as the decoder for ffmpeg, but libx264 is referenced as the decoder. I was able to fix this by chaning the following line in MP4.pm

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

to

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

This would probably break backwards compatibility if it was simply left like this however.

comment:2 Changed 12 years ago by xris

Resolution: duplicate
Status: newclosed

dupe of #3809

Note: See TracTickets for help on using tickets.