I have built the ffmpeg library (media-video/ffmpeg-0.4.9_p20070616-r1) with USE=x264 (against media-libs/x264-svn-20070924), as a result I can both play H.264 video (I've tried ffplay and mplayer, both work fine) and encode video as such (with the ffmpeg binary). However, when I try to use transcode for that purpose it fails claiming the appropriate codec cannot be found. Reproducible: Always Steps to Reproduce: 1. Try to encode a clip with ffmpeg directly: ffmpeg -i in.dv -vcodec h264 -b 700 -level 13 out.avi 2. Try to do the same with transcode (here with full debug output): transcode -i in.dv -F h264 -y ffmpeg -o out.avi Actual Results: Enclosed output from transcode, with full debug output (-q 511): transcode v1.0.4 (C) 2001-2003 Thomas Oestreich, 2003-2004 T. Bitterberg, 2004-2007 Transcode Team [tcprobe] Digital Video (NTSC) [transcode] (probe) suggested AV correction -D 0 (0 ms) | AV 0 ms | 0 ms (probe.c) V magic=0x1f0700bf, A magic=0x1f0700bf, V codec=0x1000, A codec=0x1 (probe.c) V magic=, A magic=, V codec=Digital Video, A codec=PCM [transcode] auto-probing source in.dv (ok) [transcode] V: import format | Digital Video (V=dv|A=dv) [transcode] V: import frame | 720x480 1.50:1 encoded @ 16:9 [transcode] V: bits/pixel | 0.174 [transcode] V: decoding fps,frc | 29.970,4 [transcode] V: Y'CbCr | YV12/I420 [transcode] A: import format | 0x1 PCM [48000,16,2] 1536 kbps [transcode] A: export format | 0x55 MPEG layer-3 [48000,16,2] 128 kbps [transcode] V: encoding fps,frc | 29.970,4 [transcode] A: bytes per frame | 6408 (6406.400000) [transcode] A: adjustment | -1600@1000 [transcode] V: IA32/AMD64 accel | sse2 (sse2 sse 3dnowext 3dnow mmxext mmx asm C) tc_memcpy: using amd64 for memcpy [transcode] encoder delay = decode=40000 encode=40000 usec [transcode] V: video buffer | 10 @ 720x480 [transcode] allocating 10 framebuffer (static) loading audio import module /usr/lib64/transcode/import_dv.so loading video import module /usr/lib64/transcode/import_dv.so module=tca_import [option=20, flag=511] [import_dv.so] v0.3.1 (2003-10-14) (video) DV | (audio) PCM Audio capability flag 0x32b | 0x1 module=tcv_import [option=20, flag=511] Video capability flag 0x32b | 0x2 loading audio export module /usr/lib64/transcode/export_ffmpeg.so loading video export module /usr/lib64/transcode/export_ffmpeg.so module=tca_export [option=10, flag=511] [export_ffmpeg.so] v0.3.13 (2004-08-03) (video) Lavc51.40.4 | (audio) MPEG/AC3/PCM (encoder.c) audio capability flag 0x21f | 0x1 module=tcv_export [option=10, flag=511] (encoder.c) video capability flag 0x21f | 0x2 [transcode] starting 1 frame processing thread(s) [transcode] starting 1 frame processing thread(s) module=tca_import [option=21, flag=2] [import_dv.so] tcextract -x dv -i "in.dv" -d 511 | tcdecode -x dv -y pcm -d 511 module=tcv_import [option=21, flag=1] [import_dv.so] tcextract -x dv -i "in.dv" -d 511 | tcdecode -x dv -y yv12 -d 511 -Q 5 module=tcv_export [option=12, flag=1] [export_ffmpeg.so] Could not find a FFMPEG codec for 'h264'. video export module error [transcode] warning : (encoder.c) video export module error: init failed [transcode] critical: failed to init encoder tc_memcpy: using amd64 for memcpy [tcextract] (pid=6315) Digital Video (NTSC) [tcextract] (pid=6315) starting, doing dv tc_memcpy: using amd64 for memcpy [tcextract] (pid=6314) Digital Video (NTSC) [tcextract] (pid=6314) starting, doing dv (decode_dv.c) header parsing failed (2) (decode_dv.c) NTSC video: 720x480 framesize=120000 sampling=1 (decode_dv.c) header parsing failed (2) (decode_dv.c) audio: 48000 Hz, 2 channels Expected Results: An AVI file with video encoded as H.264. $ emerge --info Portage 2.1.3.12 (default-linux/amd64/2007.0/desktop, gcc-4.2.1, glibc-2.6.1-r0, 2.6.23 x86_64) ================================================================= System uname: 2.6.23 x86_64 AMD Athlon(tm) 64 Processor 4000+ Timestamp of tree: Thu, 11 Oct 2007 15:50:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p17-r1 dev-java/java-config: 1.3.7, 2.1.1 dev-lang/python: 2.5.1-r2 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 1.12.10-r5 sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.61-r1 sys-devel/automake: 1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r3 sys-devel/libtool: 1.5.24 virtual/os-headers: 2.6.22-r2 ACCEPT_KEYWORDS="amd64 ~amd64" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-march=athlon64 -O2 -pipe -fforce-addr -fstack-protector" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d" CXXFLAGS="-march=athlon64 -O2 -pipe -fforce-addr -fstack-protector" DISTDIR="/usr/portage/distfiles" FEATURES="ccache collision-protect distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://mirror.mcs.anl.gov/pub/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --filter=H_**/files/digest-*" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="3dnow X a52 aac acl acpi alsa amd64 audiofile bash-completion berkdb bitmap-fonts bluetooth bzip2 cairo caps cddb cdparanoia cdr clamav cli cracklib crypt cscope cups curl dbus dga directfb dri dts dv dvd dvdr dvdread emboss encode evo exif expat fam fbcon ffmpeg firefox flac fortran ftp gdbm gif gmp gphoto2 gpm gps gtk iconv idn ieee1394 imagemagick ipv6 isdnlog java jpeg jpeg2k lcms lm_sensors logrotate mad maildir midi mikmod mime mmap mmx mng mp3 mpeg mudflap ncurses nls nptl nptlonly nsplugin offensive ogg openal opengl openmp pam pcre pdf perl pic png posix pppd python qt3 qt3support qt4 quicktime readline recode reflection sdl session slang sndfile speex spell spl sse sse2 ssl svg tcpd tetex theora threads tiff truetype truetype-fonts type1-fonts unicode v4l v4l2 vcd vorbis wmf wxwindows x264 xface xml xorg xpm xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" CAMERAS="canon ptp2" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="radeon" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS $ equery u transcode [ Found these USE variables for media-video/transcode-1.0.4 ] U I + + 3dnow : Adds support for 3dnow multimedia processor instructions + + X : Adds support for X11 + + a52 : Enables support for decoding ATSC A/52 streams used in DVD - - altivec : Adds support for optimizations for G4 and G5/ppc970 processors + + dv : Enables support for a codec used by many camcorders + + dvdread : Enables usage of Ogle's libdvdread for DVD playback - - extrafilters : Install some filters only if we ask for them - - fame : Enables libfame support + + iconv : Enable support for the iconv character set conversion library + + imagemagick : Enables support for Imagemagick (image converter) + + jpeg : Adds JPEG image support - - lzo : Enables support for lzo compression + + mjpeg : Enables mjpegtools support + + mmx : Adds support for optimizations for Pentium MMX and Athlon class processors + + mp3 : Add support for reading mp3 files + + mpeg : Adds libmpeg3 support to various packages. - - network : Enables network streaming support + + ogg : Adds support for the Ogg container format (commonly used by Vorbis, Theora and flac) - - oss : Adds support for OSS (Open Sound System) + + quicktime : Adds support for OpenQuickTime + + sdl : Adds support for Simple Direct Layer (media library) + + sse : fast floating point optimization for PentiumIII+ class chips + + sse2 : faster floating point optimization for SSE2 capable chips + + theora : Adds support for the Theora Video Compression Codec + + truetype : Adds support for FreeType and/or FreeType2 fonts + + v4l2 : Enable video4linux2 support + + vorbis : Adds support for the OggVorbis audio codec + + xml : Add support for XML files + + xvid : Adds support for xvid.org's open-source mpeg-4 codec $ equery u ffmpeg [ Found these USE variables for media-video/ffmpeg-0.4.9_p20070616-r1 ] U I + + X : Adds support for X11 + + a52 : Enables support for decoding ATSC A/52 streams used in DVD + + aac : Enables support for MPEG-4 AAC Audio - - altivec : Adds support for optimizations for G4 and G5/ppc970 processors - - amr : Enables Adaptive Multi-Rate Audio support - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml . - - doc : Adds extra documentation (API, Javadoc, etc) + + encode : Adds support for encoding of audio or video files + + ieee1394 : Enable FireWire/iLink IEEE1394 support (dv, camera, ...) - - imlib : Adds support for imlib, an image loading and rendering library + + mmx : Adds support for optimizations for Pentium MMX and Athlon class processors - - network : Enables network streaming support + + ogg : Adds support for the Ogg container format (commonly used by Vorbis, Theora and flac) - - oss : Adds support for OSS (Open Sound System) + + sdl : Adds support for Simple Direct Layer (media library) - - test : Workaround to pull in packages needed to run with FEATURES=test. Portage-2.1.2 handles this internally, so don't set it in make.conf/package.use anymore. + + theora : Adds support for the Theora Video Compression Codec + + threads : Adds threads support for various packages. Usually pthreads + + truetype : Adds support for FreeType and/or FreeType2 fonts + + v4l : Enables video4linux support + + vorbis : Adds support for the OggVorbis audio codec + + x264 : Enable h264 encoding using x264 + + xvid : Adds support for xvid.org's open-source mpeg-4 codec + + zlib : Adds support for zlib (de)compression $ equery u x264-svn [ Found these USE variables for media-libs/x264-svn-20070924 ] U I - - debug : Enable extra debug codepaths, like asserts and extra output. If you want to get meaningful backtraces see http://www.gentoo.org/proj/en/qa/backtraces.xml . + + threads : Adds threads support for various packages. Usually pthreads
I've found this same problem. There's been some discussion on the transcode-users mailing list ( http://lists.exit1.org/mailman/listinfo/transcode-users ). I can't find a list archive however to point you to the thread. However there has been a new version released yesterday (version 1.0.5rc3) and while I thought initially it worked, it's now giving me the same cannot find codec message again.
(In reply to comment #1) > I've found this same problem. There's been some discussion on the > transcode-users mailing list ( > http://lists.exit1.org/mailman/listinfo/transcode-users ). I can't find a list > archive however to point you to the thread. Hi, there is gmane interface avalaible: http://news.gmane.org/gmane.comp.video.transcode.user > However there has been a new > version released yesterday (version 1.0.5rc3) and while I thought initially it > worked, it's now giving me the same cannot find codec message again. Uhm, already posted on transcode-users? If yes and i've not answered, please bug me again.
(In reply to comment #2) > (In reply to comment #1) > > I've found this same problem. There's been some discussion on the > > transcode-users mailing list ( > > http://lists.exit1.org/mailman/listinfo/transcode-users ). I can't find a list > > archive however to point you to the thread. > > Hi, there is gmane interface avalaible: > http://news.gmane.org/gmane.comp.video.transcode.user > > > However there has been a new > > version released yesterday (version 1.0.5rc3) and while I thought initially it > > worked, it's now giving me the same cannot find codec message again. > > Uhm, already posted on transcode-users? If yes and i've not answered, please > bug me again. > Hm I have a workaround. emerge =media-video/ffmpeg-0.4.9_p20080326 make compat symlinks like these adler32.h -> ../libavutil/adler32.h avcodec.h -> ../libavcodec/avcodec.h avdevice.h -> ../libavdevice/avdevice.h avfilter.h -> ../libavfilter/avfilter.h avformat.h -> ../libavformat/avformat.h avio.h -> ../libavformat/avio.h avstring.h -> ../libavutil/avstring.h avutil.h -> ../libavutil/avutil.h base64.h -> ../libavutil/base64.h common.h -> ../libavutil/common.h crc.h -> ../libavutil/crc.h fifo.h -> ../libavutil/fifo.h intfloat_readwrite.h -> ../libavutil/intfloat_readwrite.h log.h -> ../libavutil/log.h lzo.h -> ../libavutil/lzo.h mathematics.h -> ../libavutil/mathematics.h md5.h -> ../libavutil/md5.h mem.h -> ../libavutil/mem.h opt.h -> ../libavcodec/opt.h random.h -> ../libavutil/random.h rational.h -> ../libavutil/rational.h rtspcodes.h -> ../libavformat/rtspcodes.h rtsp.h -> ../libavformat/rtsp.h sha1.h -> ../libavutil/sha1.h and then emerge =media-video/transcode-1.0.6_rc1-r1
New ffmepg is now in stable for x86 (amd64 is still slacking), and transcode-1.0.7_rc1 is now in stable and last version in tree. Should close this bug.