Take the 2-minute tour ×
Video Production Stack Exchange is a question and answer site for engineers, producers, editors, and enthusiasts spanning the fields of video, and media creation. It's 100% free, no registration required.

I'd like to convert some of my videos for viewing them on Sony Ericsson C702 cell phone. But I couldn't find the right set of parameters (a/v codecs, container, etc.). I'd prefer a solution using ffmpeg or another tool available on Linux. It seems that different phone models even from the same manufacturers have different video decoding abilities, so the more specific answer the better.

Update: As suggested, I'm posting ffmpeg's output of one of the videos recorded by the phone itself:

ffmpeg version 0.7.13, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jun 13 2012 14:01:54 with gcc 4.4.5
  configuration: --enable-libdc1394 --prefix=/usr --extra-cflags='-Wall -g'
    --cc='ccache cc' --enable-shared --enable-libmp3lame --enable-gpl
    --enable-libvorbis --enable-pthreads --enable-libfaac --enable-libxvid
    --enable-postproc --enable-x11grab --enable-libgsm --enable-libtheora
    --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264
    --enable-libspeex --enable-nonfree --disable-stripping
    --enable-avfilter --enable-libdirac --disable-decoder=libdirac
    --enable-libfreetype --enable-libschroedinger
    --disable-encoder=libschroedinger --enable-version3
    --enable-libopenjpeg --enable-libvpx --enable-librtmp
    --extra-libs=-lgcrypt --disable-altivec --disable-armv5te
    --disable-armv6 --disable-vis
  libavutil    50. 43. 0 / 50. 43. 0
  libavcodec   52.123. 0 / 52.123. 0
  libavformat  52.111. 0 / 52.111. 0
  libavdevice  52.  5. 0 / 52.  5. 0
  libavfilter   1. 80. 0 /  1. 80. 0
  libswscale    0. 14. 1 /  0. 14. 1
  libpostproc  51.  2. 0 / 51.  2. 0
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/sde1/DCIM/100MSDCF/MOV00456.MP4':
  Metadata:
    major_brand     : 3gp5
    minor_version   : 512
    compatible_brands: vfj13gp43gp5mp42emp 
    creation_time   : 2012-05-19 12:27:58
    copyright       : 
    copyright-eng   : 
  Duration: 00:01:21.79, start: 0.000000, bitrate: 382 kb/s
    Stream #0.0(jpn): Video: mpeg4, yuv420p, 320x240 [PAR 1:1 DAR 4:3], 348 kb/s, 29.60 fps, 30 tbr, 1k tbn, 30 tbc
    Metadata:
      creation_time   : 2012-05-19 12:27:59
    Stream #0.1(jpn): Audio: aac, 16000 Hz, mono, s16, 31 kb/s
    Metadata:
      creation_time   : 2012-05-19 12:27:59
share|improve this question
    
Do you have a video that does work with this phone? Providing details on the video using ffmpeg will provide useful info. Include the complete output of ffmpeg -i input. –  LordNeckbeard Mar 12 '13 at 0:52
    
@LordNeckbeard Good idea, I added a listing to the post. –  Petr Pudlák Mar 12 '13 at 11:00
1  
Devices are often picky, so it's always trial and error. Try: ffmpeg -i input -vf scale=320:-1 -c:v mpeg4 -b:v 400k -c:a aac -strict experimental -b:a 32k -ar 16000 -ac 1 output.mp4 You didn't include the complete console output as requested so I can not give you a better AAC encoder suggestion, and the native FFmpeg AAC encoder is poor at low bitrates. –  LordNeckbeard Mar 12 '13 at 18:03
    
@LordNeckbeard Thanks, it works. I didn't realize you might need the part with compile options and library versions. I updated it, if you a better suggestion based on that, I'd be happy to know. Also please make it a full answer so that I can vote for it. The wikipedia page says C702 supports MP3, AAC/AAC+/eAAC+ and WMA music files and 3GP/MPEG-4 video files), if it's any help. –  Petr Pudlák Mar 13 '13 at 19:54
add comment

1 Answer

up vote 3 down vote accepted

Devices are often picky, and specifications are usually too uninformative so it's always trial and error. For example, your link indicates that the phone supports MP4 playback, but that is simply a container than can utilize several video and audio formats.

MPEG-4 part 2 video and AAC-LC audio

(partially based on the working video details you provided)

ffmpeg -i input -vf scale=320:-1 -c:v mpeg4 -b:v 400k -c:a aac -strict experimental -b:a 32k -ar 16000 -ac 1 output.mp4

Some recommendations:

  • Try increasing the audio bitrate since -c:a aac is not very good for low bitrates, and because your build does not support better AAC encoders.

  • Consider removing -ar 16000 and -ac 1. It's best to try to preserve the original file audio rate and number of audio channels if supported by the phone.

  • Try replacing -b:v 400k with -q:v using a value of or between 2 - 5 (lower is higher quality) to set a constant quantization parameter instead of an arbitrary bitrate.

Results may vary.

H.264 video and AAC-LC audio

ffmpeg -i input -vf scale=320:-1 -c:v libx264 -profile:v baseline -crf 28 -c:a aac -strict experimental -b:a 128k output.mp4

I'm unsure if this will work on your phone, but it's worth trying. See the FFmpeg and x264 Encoding Guide for more info on encoding with x264.

share|improve this answer
    
I tested H.264 and the phone is unable to decode it. But it may come in handy for a newer phone. The mpeg4 variant works fine. –  Petr Pudlák Mar 14 '13 at 20:27
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.