Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[how-to] Convertire files in 3gp per il cellulare
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools)
View previous topic :: View next topic  
Author Message
CarloJekko
Veteran
Veteran


Joined: 31 Mar 2005
Posts: 1315
Location: Baia Domizia :-)

PostPosted: Mon Feb 20, 2006 10:37 am    Post subject: [how-to] Convertire files in 3gp per il cellulare Reply with quote

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
View user's profile Send private message
skakz
Guru
Guru


Joined: 03 Jul 2004
Posts: 380
Location: Ischia/Napoli/Italia/Terra

PostPosted: Mon Feb 20, 2006 10:45 am    Post subject: Reply with quote

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
View user's profile Send private message
CarloJekko
Veteran
Veteran


Joined: 31 Mar 2005
Posts: 1315
Location: Baia Domizia :-)

PostPosted: Mon Feb 20, 2006 10:58 am    Post subject: Reply with quote

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
View user's profile Send private message
gutter
Bodhisattva
Bodhisattva


Joined: 13 Mar 2004
Posts: 7162
Location: Aarau, Aargau, Switzerland

PostPosted: Mon Feb 20, 2006 11:54 am    Post subject: Reply with quote

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
View user's profile Send private message
skakz
Guru
Guru


Joined: 03 Jul 2004
Posts: 380
Location: Ischia/Napoli/Italia/Terra

PostPosted: Mon Feb 20, 2006 2:34 pm    Post subject: Reply with quote

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!! :wink: 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
View user's profile Send private message
earcar
Guru
Guru


Joined: 20 Sep 2004
Posts: 425
Location: Bologna, Italy

PostPosted: Mon Feb 20, 2006 5:02 pm    Post subject: Reply with quote

Bello ehehe :D

Io ho usato proprio quell'howto per convertire il video di no1984.org contro il trusted computing in 3gp

Scaricate e diffondete! :D

Ciauz
_________________
Bip... bip... bip... -- Sputnik 1
Back to top
View user's profile Send private message
earcar
Guru
Guru


Joined: 20 Sep 2004
Posts: 425
Location: Bologna, Italy

PostPosted: Sun May 28, 2006 10:55 am    Post subject: Reply with quote

Buone notizie: l'ultimo ebuild in portage di ffmpeg ha il supporto amr integrato :D

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
View user's profile Send private message
alexbgl
Apprentice
Apprentice


Joined: 05 Jul 2006
Posts: 240
Location: Verona

PostPosted: Sun Jan 14, 2007 5:14 pm    Post subject: 3gp Reply with quote

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
View user's profile Send private message
cloc3
Advocate
Advocate


Joined: 13 Jan 2004
Posts: 4787
Location: http://www.gentoo-users.org/user/cloc3/

PostPosted: Sun Jan 14, 2007 5:51 pm    Post subject: Reply with quote

https://forums.gentoo.org/viewtopic-t-435682.html
_________________
vu vu vu
gentù
mi piaci tu
Back to top
View user's profile Send private message
codadilupo
Advocate
Advocate


Joined: 05 Aug 2003
Posts: 3135

PostPosted: Sun Jan 14, 2007 8:57 pm    Post subject: Re: 3gp Reply with quote

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
View user's profile Send private message
gutter
Bodhisattva
Bodhisattva


Joined: 13 Mar 2004
Posts: 7162
Location: Aarau, Aargau, Switzerland

PostPosted: Mon Jan 15, 2007 8:55 pm    Post subject: Reply with quote

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
View user's profile Send private message
mr_dub
n00b
n00b


Joined: 30 Nov 2004
Posts: 8
Location: italy

PostPosted: Sun Jan 28, 2007 4:38 pm    Post subject: Reply with quote

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 :P )

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
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2963
Location: Milano, Italy

PostPosted: Sun Jan 28, 2007 10:40 pm    Post subject: Reply with quote

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
View user's profile Send private message
drizztbsd
Retired Dev
Retired Dev


Joined: 21 Nov 2004
Posts: 278
Location: Cesano Maderno

PostPosted: Mon Jan 29, 2007 10:30 am    Post subject: Reply with quote

Puoi usare ffmpeg scm version dal mio overlay 8)
http://overlays.gentoo.org/dev/drizzt/browser/media-video/ffmpeg
_________________
Gentoo/Alt lead
Gentoo/*BSD and Gentoo/FreeBSD deputy lead
Paludis contributor
Back to top
View user's profile Send private message
.:deadhead:.
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 2963
Location: Milano, Italy

PostPosted: Mon Jan 29, 2007 11:49 am    Post subject: Reply with quote

Drizzt Do` Urden wrote:
Puoi usare ffmpeg scm version dal mio overlay 8)
http://overlays.gentoo.org/dev/drizzt/browser/media-video/ffmpeg
L'utente propone, Drizzt dispone ehehe :D
_________________
Proudly member of the Gentoo Documentation Project: the Italian Conspiracy ! ;)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) Risorse italiane (documentazione e tools) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum