Page 1 of 1

Transcoding for .3gp

PostPosted: Sat Mar 19, 2011 8:18 am
by AndrewW
Has any one maaged to transcode .3gp files created by a nokia mobile phone ?

If so how ?

Kind Regards
Andrew

Re: Transcoding for .3gp

PostPosted: Sat Mar 19, 2011 11:09 am
by AndrewW
Thanks i tried that tool earlier , and i keep getting codes not supported on by samsung c-series TV. I need to transcode them again with media coder for them to work.

Any ideas? If i transcode them directly with media coder that does not work either, appears to be a suttle change required for the transcoding to work


sorry silly question whats bitbucket

Andrew

Re: Transcoding for .3gp

PostPosted: Sat Mar 19, 2011 5:05 pm
by Cerberus
bitbucket.com its were the bug tracker for serviio is located :) will post exact address when im at home i dont have it here.

Re: Transcoding for .3gp

PostPosted: Sat Mar 19, 2011 11:45 pm
by patters
Yeah this would be useful. I have a few videos taken from a friend's Blackberry handset (not sure which one) which are as follows:
C:\Users\me>"C:\Program Files\Serviio\lib\ffmpeg.exe" -i "G:\video\Trailer
s and samples\VID 00005-20110303-1555.3GP"
FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
built on Jan 10 2011 21:46:22 with gcc 4.4.2
configuration: --enable-static --disable-shared --disable-shared --disable-ffp
lay --disable-ffserver --enable-memalign-hack --enable-libmp3lame --arch=x86 --e
nable-runtime-cpudetect --enable-w32threads --target-os=mingw32 --cross-prefix=i
686-mingw32-
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 0 / 0.16. 0
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.92. 0 / 52.92. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.72. 0 / 1.72. 0
libswscale 0.12. 0 / 0.12. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'G:\video\Trailers and samples\VID 00005
-20110303-1555.3GP':
Metadata:
major_brand : 3gp5
minor_version : 256
compatible_brands: 3gp53gp4mp42isom
creation_time : 2011-03-03 14:55:52
Duration: 00:00:05.70, start: 0.000000, bitrate: 1620 kb/s
Stream #0.0(und): Video: mpeg4, yuv420p, 480x352 [PAR 1:1 DAR 15:11], 1567 k
b/s, 27.89 fps, 30 tbr, 1k tbn, 30 tbc
Metadata:
creation_time : 2011-03-03 14:55:52
Stream #0.1(und): Audio: aac, 16000 Hz, mono, s16, 47 kb/s
Metadata:
creation_time : 2011-03-03 14:55:52
At least one output file must be specified

Re: Transcoding for .3gp

PostPosted: Sun Mar 20, 2011 1:28 am
by patters
There seem to be a couple of obstacles here. Though many renderers will play the audio and video codecs contained within the 3gp container, most of them will not natively support 3gp itself - so these files will need remuxing at the very least. The first problem is that it doesn't look like MPEG-4 Part 2 video can be remuxed into an mpegts container. I just get a corrupt file that nothing (not even VLC) can play.

If I remux to an mp4 container it works, though of course the problem is that we can't do that on the fly once Serviio supports 3gp because mp4 is not a live-streamable container:
  Code:
"C:\Program Files\Serviio\lib\ffmpeg.exe" -i "G:\video\Trailers and samples\VID 00005-20110303-1555.3GP" -vcodec copy -acodec copy c:\temp\test.mp4


I then notice that the Sony Bluray Disc Player doesn't like either the audio bit rate or sample rate (it plays silently), so we need to transcode it. We have no aac encoder in FFmpeg by default (libfaac is non-GPL), however the mp4 container does support mp3 audio and the following command yields a file playable on a Sony BDP. The -ar 44100 fixes the silent audio track - presumably libmp3lame also doesn't like 16KHz as a sample rate:
  Code:
"C:\Program Files\Serviio\lib\ffmpeg.exe" -i "G:\video\Trailers and samples\VID 00005-20110303-1555.3GP" -vcodec copy -acodec libmp3lame -ar 44100 c:\temp\test.mp4


Looking at this container format comparison, it looks like MPEG-4 Part 2 video is supported in MPEG-2 transport stream (.ts) but not in BDAV spec MPEG-2 transport streams (.m2ts). Unfortunately FFmpeg doesn't seem to make the distinction and only offers the latter as far as I can tell. I can't test with TSMuxer which does offer both containers, because it understands neither .3gp nor MPEG-4 Part 2. So no remuxing on the fly unless someone else figures something out.

Re: Transcoding for .3gp

PostPosted: Sun Mar 20, 2011 12:17 pm
by AndrewW
I tried the ffmpeg commands
"C:\Program Files\Serviio\lib\ffmpeg.exe" -i "G:\video\Trailers and samples\VID 00005-20110303-1555.3GP" -vcodec copy -acodec libmp3lame -ar 44100 c:\temp\test.mp4
The plan was to transcode all the files via an automated process which is launched when ever additional 3gp files are downloaded and then transcode them to a different location so Serviio culd then stream them to the TV
The commend only worked for the smallest file, for all other files i got video codecs not supported (on the TV)
Do you know the optimum setting for a samsung c-series tV 46C750
The only codecs i could get to work with any relability was the mpeg 2 codecs for the conversions and even these failed some time.....

Andrew

Re: Transcoding for .3gp

PostPosted: Sun Mar 20, 2011 12:31 pm
by patters
Can you post the result of FFmpeg -i on an example Nokia 3gp file?

Re: Transcoding for .3gp

PostPosted: Sun Mar 20, 2011 1:05 pm
by AndrewW
FFmpeg version SVN-r22888, Copyright (c) 2000-2010 the FFmpeg developers
built on Apr 16 2010 06:08:05 with gcc 4.4.2
configuration: --enable-memalign-hack --cross-prefix=i686-mingw32- --cc=ccache-i686-mingw32-gcc --arch=i686 --target-os=mingw32 --enable-runtime-cpu
detect --enable-avisynth --enable-gpl --enable-version3 --enable-bzlib --enable-libgsm --enable-libfaad --enable-pthreads --enable-libvorbis --enable-
libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libxvid --enable-libschroedinger --enable-libx264 --enable-libopencore_a
mrwb --enable-libopencore_amrnb
libavutil 50.14. 0 / 50.14. 0
libavcodec 52.66. 0 / 52.66. 0
libavformat 52.61. 0 / 52.61. 0
libavdevice 52. 2. 0 / 52. 2. 0
libswscale 0.10. 0 / 0.10. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'e:file.3gp':
Metadata:
major_brand : 3gp5
minor_version : 768
compatible_brands: 3gp53gp43g2aisom
Duration: 00:00:03.84, start: 0.000000, bitrate: 1979 kb/s
Stream #0.0(eng): Video: mpeg4, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 1978 kb/s, 14.69 fps, 100 tbr, 15750 tbn, 100 tbc
Stream #0.1(eng): Audio: amrnb, 8000 Hz, 1 channels, flt, 12 kb/s

Re: Transcoding for .3gp

PostPosted: Sun Mar 20, 2011 2:01 pm
by patters
you could try forcing the bitrate with -ab 64k

Re: Transcoding for .3gp

PostPosted: Sun Mar 20, 2011 2:27 pm
by AndrewW
I'll try it but the below worked well

"C:\Program Files\Serviio\lib\ffmpeg.exe" -i "c:video0193.3gp" -f vcd -target pal-vcd -mbd rd -trellis -mv0 -cmp 0 -subcmp 2 "c:Video.mpg"

Re: Transcoding for .3gp

PostPosted: Wed Mar 30, 2011 6:55 pm
by NX3
FFmpeg -i for a 3pg from android HTC phone. The video is mp4 so I presume that could be output via serviio ? audio is "amrnb" which is new to me

ffmpeg -i VIDEO0009.3gp
FFmpeg version UNKNOWN, Copyright (c) 2000-2011 the FFmpeg developers
built on Mar 28 2011 22:12:56 with gcc 4.4.5
configuration: --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-x11grab
libavutil 50.36. 0 / 50.36. 0
libavcore 0.16. 0 / 0.16. 0
libavcodec 52.108. 0 / 52.108. 0
libavformat 52.92. 0 / 52.92. 0
libavdevice 52. 2. 3 / 52. 2. 3
libavfilter 1.72. 0 / 1.72. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'VIDEO0009.3gp':
Metadata:
major_brand : 3gp4
minor_version : 768
compatible_brands: 3gp4mp413gp6
creation_time : 2011-03-19 18:16:42
copyright :
copyright-eng :
Duration: 00:00:40.21, start: 0.000000, bitrate: 1601 kb/s
Stream #0.0(eng): Video: mpeg4, yuv420p, 640x480 [PAR 1:1 DAR 4:3], 1586 kb/s, 21.24 fps, 40 tbr, 1k tbn, 40 tbc
Metadata:
creation_time : 2011-03-19 18:16:42
Stream #0.1(eng): Audio: amrnb, 8000 Hz, 1 channels, flt, 12 kb/s
Metadata:
creation_time : 2011-03-19 18:16:42

Re: Transcoding for .3gp

PostPosted: Wed Mar 30, 2011 10:24 pm
by zip
According to this (http://en.wikipedia.org/wiki/3gp) 3gp is indeed just a (slightly modified) MP4 container. The audio codec is unknown to Serviio so the file would not be added to the library. I'll look what can be done.

https://bitbucket.org/xnejp03/serviio/i ... -3gp-video

Re: Transcoding for .3gp

PostPosted: Sat Apr 02, 2011 9:59 am
by NX3
I've been playing around with Wild Media as part of trying to get AVI working on my Sony 2011 model. Anyway, I noticed its transcoding 3gp files to MPEG2. Not a killer feature for me but would be neat and I'm not switching from Serviio :)

Re: Transcoding for .3gp

PostPosted: Sat Apr 02, 2011 10:13 am
by Cerberus
There is already a ticket open for this to be added to serviio and has been assigned to be added to version (0.6)

Re: Transcoding for .3gp

PostPosted: Tue Apr 05, 2011 1:24 pm
by Tarkin
Cerberus wrote:There is already a ticket open for this to be added to serviio and has been assigned to be added to version (0.6)


Great! Looking forward to this! ;)