View previous topic :: View next topic |
Author |
Message |
CarloJekko Veteran
Joined: 31 Mar 2005 Posts: 1315 Location: Baia Domizia :-)
|
Posted: Mon Feb 20, 2006 10:37 am Post subject: [how-to] Convertire files in 3gp per il cellulare |
|
|
Prendendo spunto da questo topic : https://forums.gentoo.org/viewtopic-t-132849-highlight-phone+mencoder.html
Vi dico come ho fatto io per convertire i video in formato 3gp per poi esportare sul cellulare.
Allora innanzi tutto ho usato l'overlay di portage aggiungendo questo al /etc/make.conf
Code: | PORTDIR_OVERLAY="/usr/local/portage" |
poi sono andato in
Code: | cd /usr/portage/distfiles |
ed ho scaricato i seguenti files
Code: | wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.204/26204-510.zip
wget http://www.3gpp.org/ftp/Specs/archive/26_series/26.104/26104-510.zip |
poi ho creato la cartella /usr/local/portage/media-video/ffmpeg/ e fatto cd /usr/local/portage/media-video/ffmpeg/
e quindi ho copiato
Code: | cp /usr/portage/media-video/ffmpeg/ffmpeg-0.4.9_p20051216.ebuild /usr/local/portage/media-video/ffmpeg/ffmpeg-0.4.9_p20051216-r1.ebuild |
(ho aggiunto l'r1)
quindi ho modificato ffmpeg-0.4.9_p20051216-r1.ebuild in questo modo :
Code: | # Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/media-video/ffmpeg/ffmpeg-0.4.9_p20051216.ebuild,v 1.19 2006/01/30 06:07:35 lu_zero Exp $
inherit eutils flag-o-matic multilib toolchain-funcs
DESCRIPTION="Complete solution to record, convert and stream audio and video. Includes libavcodec."
HOMEPAGE="http://ffmpeg.sourceforge.net/"
MY_P=${P/_/-}
S=${WORKDIR}
S_BASE=${WORKDIR}/${MY_P}
S_STATIC=${S_BASE}-static
S_SHARED=${S_BASE}-shared
SRC_URI="mirror://gentoo/${MY_P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
# ~alpha need to test aac useflag
# ~ia64 ~arm ~mips ~hppa
#KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc-macos ~ppc64 ~sparc ~x86"
KEYWORDS="-* alpha amd64 arm hppa ia64 ppc ~ppc-macos ppc64 sparc x86"
IUSE="aac altivec debug doc ieee1394 a52 encode imlib mmx ogg vorbis oss test theora threads truetype v4l xvid dts network zlib sdl"
DEPEND="imlib? ( media-libs/imlib2 )
truetype? ( >=media-libs/freetype-2 )
sdl? ( >=media-libs/libsdl-1.2.1 )
doc? ( app-text/texi2html )
encode? ( media-sound/lame )
ogg? ( media-libs/libogg )
vorbis? ( media-libs/libvorbis )
theora? ( media-libs/libtheora )
aac? ( media-libs/faad2 media-libs/faac )
a52? ( >=media-libs/a52dec-0.7.4-r4 )
xvid? ( >=media-libs/xvid-1.0.3 )
zlib? ( sys-libs/zlib )
dts? ( media-libs/libdts )
ieee1394? ( =media-libs/libdc1394-1*
sys-libs/libraw1394 )
test? ( net-misc/wget )"
src_unpack() {
unpack ${A} || die
cd ${S_BASE}
##############
# Qui ho aggiunto il supporto al formato 3gp
cd libavcodec
mkdir amr_float
mkdir amrwb_float
cd amr_float
unzip /usr/portage/distfiles/26104-510.zip
unzip 26104-510_ANSI_C_source_code.zip
cd ..
cd amrwb_float
unzip /usr/portage/distfiles/26204-510.zip
unzip 26204-510_ANSI-C_source_code.zip
cd ../..
################
#Append -fomit-frame-pointer to avoid some common issues
use debug || append-flags "-fomit-frame-pointer"
# for some reason it tries to #include <X11/Xlib.h>, but doesn't use it
sed -i s:\#define\ HAVE_X11:\#define\ HAVE_LINUX: ffplay.c
epatch ${FILESDIR}/ffmpeg-unknown-options.patch
epatch ${FILESDIR}/ffmpeg-soname-symlink.patch
# ffmpeg doesn'g use libtool, so the condition for PIC code
# is __PIC__, not PIC.
sed -i -e 's/#\(\(.*def *\)\|\(.*defined *\)\|\(.*defined(*\)\)PIC/#\1__PIC__/' \
libavcodec/i386/dsputil_mmx{.c,_rnd.h,_avg.h} \
libavcodec/msmpeg4.c \
libavutil/common.h \
|| die "sed failed (__PIC__)"
# Make it use pic always since we don't need textrels
sed -i -e "s:LIBOBJFLAGS=\"\":LIBOBJFLAGS=\'\$\(PIC\)\':" configure
# To make sure the ffserver test will work
sed -i -e "s:-e debug=off::" tests/server-regression.sh
cd ${S}
cp -R ${S_BASE} ${S_STATIC}
mv ${S_BASE} ${S_SHARED}
# Patch for gcc-4 shared build only
cd ${S_SHARED}
epatch ${FILESDIR}/ffmpeg-shared-gcc4.patch
}
src_compile() {
#Note; library makefiles don't propogate flags from config.mak so
#use specified CFLAGS are only used in executables
replace-flags -O0 -O2
local myconf=""
#disable mmx accelerated code if not requirested, or if PIC is required
# as the provided asm decidedly is not PIC.
if ( ! has_pic && use mmx ) || use amd64; then
myconf="${myconf} --enable-mmx"
else
myconf="${myconf} --disable-mmx"
fi
if use elibc_FreeBSD; then
myconf="${myconf} --enable-memalign-hack"
fi
myconf="${myconf}
$(use_enable altivec) \
$(use_enable debug) \
$(use_enable encode mp3lame) \
$(use_enable a52) --disable-a52bin \
$(use_enable oss audio-oss) \
$(use_enable v4l) \
$(use_enable ieee1394 dv1394) $(use_enable ieee1394 dc1394) \
$(use_enable threads pthreads) \
$(use_enable xvid) \
$(use_enable ogg libogg) \
$(use_enable vorbis) \
$(use_enable theora) \
$(use_enable dts) \
$(use_enable network) \
$(use_enable zlib) \
$(use_enable sdl ffplay) \
$(use_enable aac faad) $(use_enable aac faac) --disable-faadbin \
--enable-gpl \
--enable-pp \
--disable-opts \
--enable-amr_nb \
--enable-amr_wb"
######## Ho aggiunto --enable-amr_nb e --enable-amr_wb nelle USE ##########
cd ${S_STATIC}
econf --disable-shared-pp --disable-shared --enable-static ${myconf} || die "Configure failed"
emake CC="$(tc-getCC)" || die "static failed"
# Specific workarounds for too-few-registers arch...
if [[ $(tc-arch) == "x86" ]]; then
filter-flags -fforce-addr -momit-leaf-frame-pointer
append-flags -fomit-frame-pointer
is-flag -O? || append-flags -O2
ewarn ""
ewarn "Debug information will be almost useless as the frame pointer is omitted."
ewarn "This makes debugging harder, so crashes that has no fixed behavior are"
ewarn "difficult to fix. Please have that in mind."
ewarn ""
fi
cd ${S_SHARED}
econf --enable-shared-pp --enable-shared --disable-static ${myconf} || die "Configure failed"
emake CC="$(tc-getCC)" || die "shared failed"
}
src_install() {
for d in ${S_STATIC} ${S_SHARED}; do
cd ${d}
make DESTDIR=${D} \
prefix=${D}/usr \
libdir=${D}/usr/$(get_libdir) \
mandir=${D}/usr/share/man \
infodir=${D}/usr/share/info \
bindir=${D}/usr/bin \
install installlib || die "Install Failed"
done
cd ${S_SHARED}
use doc && make documentation
dodoc ChangeLog README INSTALL
dodoc doc/*
cd ${S_STATIC}/libavcodec/libpostproc
make prefix=${D}/usr libdir=${D}/usr/$(get_libdir) \
install || die "Failed to install libpostproc.a!"
cd ${S_SHARED}/libavcodec/libpostproc
make prefix=${D}/usr libdir=${D}/usr/$(get_libdir) \
SHARED_PP="yes" \
install || die "Failed to install libpostproc.so!"
# Some stuff like transcode can use this one.
dolib ${S_STATIC}/libavcodec/libpostproc/libpostproc.a
preplib /usr
}
# Never die for now...
src_test() {
for d in ${S_STATIC} ${S_SHARED}; do
cd ${d}/tests
for t in "codectest libavtest test-server" ; do
make ${t} || ewarn "Some tests in ${t} failed for ${d}"
done
done
}
pkg_postinst() {
ewarn "ffmpeg may had ABI changes, if ffmpeg based programs"
ewarn "like xine-lib or vlc stop working as expected please"
ewarn "rebuild them."
} |
quindi ho copiato
Code: | mkdir files
cp /usr/portage/media-video/ffmpeg/files/* /usr/local/portage/media-video/ffmpeg/files/ |
poi ho dato
Code: | ebuild ffmpeg-0.4.9_p20051216-r1.ebuild digest |
ed aggiornato con emerge -u ffmpeg
ATTENZIONE
Io ho utilizzato l'ultima versione masked di ffmpeg, se non si vuole questa si possono apportare le stesse modifiche alla versione stable di ffmpeg
Adesso per chi usa KDE c'è questo bello script (ha bisogno di kommander) che si aggiunge nel menu di konqueror quando si clicca su di un file video http://www.kde-apps.org/content/show.php?content=35274
oppure come c'è scritto nel 3ed originale si può usare
Code: | ffmpeg -i small_file.avi -ar 8000 -ac 1 -acodec amr_nb -vcodec h263 -s 176x144 -r 12 -b 30 -ab 12 new_file.3gp |
(Probabilmente non ci sono errori... se qualcuno ne trova uno o non gli funziona qualcosa o ha qualche suggerimento ... )
Ciao!! _________________ C.
Last edited by CarloJekko on Mon Feb 20, 2006 12:18 pm; edited 2 times in total |
|
Back to top |
|
|
skakz Guru
Joined: 03 Jul 2004 Posts: 380 Location: Ischia/Napoli/Italia/Terra
|
Posted: Mon Feb 20, 2006 10:45 am Post subject: |
|
|
scusa ma in che consiste la modifica dell'ebuild?
io ho semplicemente installato l'ultima versione di ffmpeg e poi mi sono fatto questo semplice script per la conversione:
Code: | csk@omega ~ $ cat /usr/local/bin/avi23gp
ffmpeg -y -i "$1" -ac 1 -acodec aac -vcodec h263 -s 176x144 -r 12 -b 60 "`basename "$1" | sed 's:avi:3gp:'`"
sk@omega ~ $ |
e funziona.. tra l'altro non solo con gli avi... _________________ Linux Registered User n.340423
Linux User Group Ischia
www.tush.it |
|
Back to top |
|
|
CarloJekko Veteran
Joined: 31 Mar 2005 Posts: 1315 Location: Baia Domizia :-)
|
Posted: Mon Feb 20, 2006 10:58 am Post subject: |
|
|
Si aggiungono questi formati
Code: |
ffmpeg -formats
E 3g2 3gp2 format
E 3gp 3gp format
DE amr 3gpp amr file format
D mov,mp4,m4a,3gp,3g2 QuickTime/MPEG4 format
DEA amr_nb
DEA amr_wb
|
Edit: non ho mai detto che funziona solo con gli avi... _________________ C. |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Mon Feb 20, 2006 11:54 am Post subject: |
|
|
Moved from Forum di discussione italiano to Risorse italiane (documentazione e tools).
Ho cambiato il titolo rimuovento il tag [abbozzo di how-to]. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
skakz Guru
Joined: 03 Jul 2004 Posts: 380 Location: Ischia/Napoli/Italia/Terra
|
Posted: Mon Feb 20, 2006 2:34 pm Post subject: |
|
|
CarloJekko wrote: | Si aggiungono questi formati
Code: |
ffmpeg -formats
E 3g2 3gp2 format
E 3gp 3gp format
DE amr 3gpp amr file format
D mov,mp4,m4a,3gp,3g2 QuickTime/MPEG4 format
DEA amr_nb
DEA amr_wb
|
|
i 3gp li ho anche io senza modifca... aggiungi amr.. ottimo!! non tutti i cellulari supportano aac..
grasie
edit: non dicevo a te per gli avi, qualcuno poteva fraintendere dal mio script che funzionava solo con gli avi.. _________________ Linux Registered User n.340423
Linux User Group Ischia
www.tush.it |
|
Back to top |
|
|
earcar Guru
Joined: 20 Sep 2004 Posts: 425 Location: Bologna, Italy
|
Posted: Mon Feb 20, 2006 5:02 pm Post subject: |
|
|
Bello ehehe
Io ho usato proprio quell'howto per convertire il video di no1984.org contro il trusted computing in 3gp
Scaricate e diffondete!
Ciauz _________________ Bip... bip... bip... -- Sputnik 1 |
|
Back to top |
|
|
earcar Guru
Joined: 20 Sep 2004 Posts: 425 Location: Bologna, Italy
|
Posted: Sun May 28, 2006 10:55 am Post subject: |
|
|
Buone notizie: l'ultimo ebuild in portage di ffmpeg ha il supporto amr integrato
Code: | hulk ~ # emerge -av ffmpeg
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild R ] media-video/ffmpeg-0.4.9_p20060302 USE="a52 aac amr* encode imlib ogg* sdl threads truetype vorbis* xvid zlib -debug -doc -dts -ieee1394 -network -oss -test -theora -v4l -x264" 0 kB
Total size of downloads: 0 kB
Would you like to merge these packages? [Yes/No]
|
_________________ Bip... bip... bip... -- Sputnik 1 |
|
Back to top |
|
|
alexbgl Apprentice
Joined: 05 Jul 2006 Posts: 240 Location: Verona
|
Posted: Sun Jan 14, 2007 5:14 pm Post subject: 3gp |
|
|
Vorrei sapere come posso fare per gestire i file 3gp; in particolare vorrei poterli leggere e convertire in altri formati.
(Altrimenti mi tocca usare windows emulato! ) |
|
Back to top |
|
|
cloc3 Advocate
Joined: 13 Jan 2004 Posts: 4810 Location: http://www.gentoo-users.org/user/cloc3/
|
|
Back to top |
|
|
codadilupo Advocate
Joined: 05 Aug 2003 Posts: 3135
|
Posted: Sun Jan 14, 2007 8:57 pm Post subject: Re: 3gp |
|
|
alexbgl wrote: | Vorrei sapere come posso fare per gestire i file 3gp; in particolare vorrei poterli leggere e convertire in altri formati. |
ffmpeg con use amr ?
Coda |
|
Back to top |
|
|
gutter Bodhisattva
Joined: 13 Mar 2004 Posts: 7162 Location: Aarau, Aargau, Switzerland
|
Posted: Mon Jan 15, 2007 8:55 pm Post subject: |
|
|
Fatto il merge con il topic indicato da cloc3.
P.S.: Grazie per la segnalazione.
@alexbgl: per favore cerchiamo prima di postare. _________________ Registered as User #281564 and Machines #163761 |
|
Back to top |
|
|
mr_dub n00b
Joined: 30 Nov 2004 Posts: 8 Location: italy
|
Posted: Sun Jan 28, 2007 4:38 pm Post subject: |
|
|
Premesso che il cellulare in mio possesso e` un nokia N71, dopo aver letto "tutto" quel che sono riuscito a trovare in rete riguardo questo tipo di conversione "avi->3gp", ho pensato di aggiungere qui alcune mie considerazioni che a qualcuno potrebbero risultare utili (sperando di essermi agganciato al thread giusto )
ho effettuato varie prove/comandi:
il (per ora) piu` complesso ..
Code: | mencoder "film.avi" -nosound -ovc lavc -lavcopts vcodec=mpeg4 -vop expand=176:144,scale=176:-2 -ofps 12 -o movie.avi
mplayer -vo null -ao pcm -af resample=8000,volume=+4db:sc "film.avi"
ffmpeg -i movie.avi -i audiodump.wav -b 48 -ac 1 -ab 12 -map 0.0 -map 1.0 movie.3gp
|
e in alternativa
Code: | ffmpeg -y -i "film.avi" -ac 1 -acodec aac -vcodec h263 -s 176x144 -r 12 -b 60 movie.3gp |
Il risultato non mi sembrava tanto soddisfacente/entusiasmante, per cui ho iniziato a curiosare in giro (di nuovo), finendo per trovare/provare un programma in windows "3GP_Converter031", che crea dei filmati migliori a parita` di dimensione.
Be`, a questo punto mi e` scattato il ... "perche` ?"
Guardando meglio il programma, ho notato che per la conversione utilizza "ffmpeg" (la 0.4.9_pre1), allora ho controllato anche con quali opzioni (da notare che codifica in MPEG4 e non H263), e scoprendo anche, che il 'nostro' (0.4.9_20061016) non ha alcune di queste 'opzioni'.
A questo punto le prove sono state molteplici, e ho individuato dei filmati accettabili (o paragonabili, come preferite) con questi comandi:
Code: |
ffmpeg -y -i "film.avi" -flags bitexact -vcodec mpeg4 -s 320x240 -r 14.985 -b 190 -muxrate 64 -acodec aac -ac 1 -ar 16000 -ab 48 -muxrate 32 -f 3gp film.3gp |
Code: |
ffmpeg -y -i "film.avi" -flags bitexact -vcodec mpeg4 -s 320x240 -r 14.985 -b 190 -qscale 1 -muxrate 64 -mbd rd -flags +4mv+trell+aic -cmp 2 -subcmp 2 -g 300 -acodec aac -ac 1 -ar 16000 -ab 32 -muxrate 32 -f 3gp film.3gp |
Code: |
ffmpeg -y -i "film.avi" -flags bitexact -vcodec h263 -s 176x144 -r 12 -b 64 -qscale 1 -acodec aac -ac 1 -ar 16000 -ab 32 -f 3gp film.3gp |
Mi sono arreso qui, se qualcuno avesse altre idee/soluzioni ... alla fine ho optato per l'uso di "ffmpeg" incluso nel programma windows:
Code: |
wine c:\3GP_Converter031\cores\ffmpeg.exe -y -i z:\film.avi -bitexact -vcodec mpeg4 -fixaspect -s 320x240 -r 14.985 -b 190 -acodec aac -ac 1 -ar 16000 -ab 48 -f 3gp -muxvb 64 -muxab 32 z:\film.3gp
|
L'output e` paragonabile al primo dei tre comandi precedenti, ma occupa 1/3 !!!
Ciao. _________________ mr_dub (______)
fr ( \ ; ) fs |
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
Posted: Sun Jan 28, 2007 10:40 pm Post subject: |
|
|
Io uso ffmpeg preso da svn [ svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg] e compilato a mano (ovviamente in una dir a parte. sotto /tmp) . solito ./configure e poi make && make install e via.
Ho notato spesso miglioramenti nel corso delle settimane: ffmpeg è un tool in continuo aggiornamento per cui usare svn è una necessità se si vuol beneficiare degli ultimi miglioramenti apportati.
Detto ciò con audio aac e video h263 direi che sei a cavallo. _________________ Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! |
|
Back to top |
|
|
drizztbsd Retired Dev
Joined: 21 Nov 2004 Posts: 278 Location: Cesano Maderno
|
|
Back to top |
|
|
.:deadhead:. Advocate
Joined: 25 Nov 2003 Posts: 2963 Location: Milano, Italy
|
|
Back to top |
|
|
|