Please, anyone knows a video encoder capable to encode to 3gp container (mpeg4 video + aac audio), but with the option to modify the Pixel Aspect Ratio?
The 3GP encoder I use right now, "Joboshare 3GP Video Converter", can encode a video to 320x240 resolution. It also has a field where you can define the aspect ratio. If I enter 2.35 for aspect ratio, the resulting video with a 320x240 resolution plays in VLC and SMPlayer in a window 564x240, with the "Default" or "Auto" aspect ratio set in the players. The video stream is encoded using square pixels, but the encoder probably writes something into the video file header telling the player that the video should be played at the 2.35:1 aspect ratio.
When I play the same video in CorePlayer on my smartphone, this player doesn't read the aspect ratio part of the video file header. It plays the video at the default 4:3, derived from the video stream resolution. CorePlayer doesn't have an option for 2.35:1 aspect ratio.
I encoded to AVI container, using DivX 6.5 codec and MP3 audio. The DivX codec gave me the option to use a custom pixel shape of 67/38. The resulting video plays in the same 564x240 window in VLC and SMPlayer, but it also plays at the correct aspect ratio in CorePlayer on the smartphone. It adds 52 pixels horizontal black bars top and bottom. Unfortunately, the ARM processor on my smartphone is not powerful enough to perfectly decode the DivX video stream and stumbles on the scenes with a lot of motion. However, it plays flawlessly the same scenes in the 3gp video.
I don't want to encode the video at 320x136 and add 52 pixels black bars top and bottom. I want to use the whole 320x240 resolution of the phone, not only 56.67% of the available pixels.
Does anyone know an encoder that can do the same as the DivX 6.5 codec, but encoding to a 3gp container with mpeg4 video stream and aac audio stream?
Thank you for any help!
+ Reply to Thread
Results 1 to 3 of 3
-
Last edited by avreader1; 6th Mar 2010 at 18:11.
-
I have found a way around to fix my problem. As I suspected, the ARM processor in my smartphone has problems to decode video streams encoded with codecs more advanced than MPEG-4 Part 2. "Joboshare 3GP Video Converter" can encode to 3GP container using either "mpeg4" or "xvid" for video codec. I used "mpeg4" and the result plays flawlessly on my phone. However, I can't modify the Pixel Aspect Ratio in this encoder.
To solve the problem, I've decided to encode to AVI container, but instead of a DivX 6.5 video stream, I used the MPEG-4 Part 2 video stream (like in the 3GP encoder), with MP3 audio. TPMGenc Express 4.xxx can use ffdshow, if installed on the computer, and ffdshow has in its settings, under the Encoder tab, the Output options. Down at the bottom of the Output options you can change both the DAR (Display Aspect Ratio) and the PAR (Pixel Aspect Ratio). I've left the DAR to 4:3 like I have on my phone, but I changed the PAR to 67:38 (4/3 * 67/38 = 268/114 = 2.35). The resulting video, in AVI container, with MPEG-4 Part 2 video stream and MP3 audio stream, is played flawlessly by CorePlayer on my smartphone, at the correct 2.35:1 aspect ratio!!! Problem solved! -
I have found a solution to make anamorphic video in 3gp container for 320x240 smartphones. Tools needed:
1. SUPER encoder (free)
2. MP4Box (free)
Instructions:
1. Open SUPER and load the video file to be encoded.
2. Choose "3GP/3G2 (Motorola, Sony...)" for Output Container.
3. Choose MPEG4 for Output Video Codec
4. AAC LC is the only option for Output Audio Codec
5. Select 320x240 for Video Scale Size
6. Select 4:3 for Aspect
7. Choose from Frame/Sec options, what your source has (25, 29.97, etc..)
8. For Bitrate kbps choose what your smartphone processor can handle. I used 528.
9. IMPORTANT! Under Options, make sure "Stretch it" is unchecked.
10. In the Audio section, select 44100 for Sampling Freq
11. Select 2 for channels (if your source is stereo or better)
12. Select 32 for Bitrate kbps (you can use better sound quality, but for a smartphone 64 (32x2) kbps AAC is pretty good).
13. You can press Ctrl+O to setup the output folder for the encoded file.
14. Press the "Encode (Active files)" button to start encoding (making sure the source(s) is/are checked).
15. When encoding is done, copy mp4box.exe in the output folder and from a console prompt run this command in that folder:
mp4box -par 1="67/38" file.3gp (replace file.3gp with the name you gave to your new 3gp video). 67/38 is the PAR for
2.35:1 aspect ratio. For 16:9 use "4/3", for 2.21:1 use "58/35".
This is all. The resulting 3gp video file will play in QuickTime player or in smartphone players (I didn't try anything else but CorePlayer) at the correct aspect ratio, with black bars top and bottom.
Unfortunately, SUPER encodes at constant bitrates for both video and audio. Consequently, the resulting file, for a 2h30m movie is around 670 MB, about 40 MB larger than the same movie encoded with a 3GP specialized encoder using variable bitrates for both video and audio streams.Last edited by avreader1; 13th Mar 2010 at 19:57.
Similar Threads
-
Convert container without re-encoding
By Coises in forum Video ConversionReplies: 12Last Post: 22nd Sep 2014, 07:09 -
anamorphic encoding without resizing
By hardy in forum Newbie / General discussionsReplies: 10Last Post: 18th Aug 2011, 16:38 -
encoding .3GP. Need help. Urgently.
By navand in forum ffmpegX general discussionReplies: 2Last Post: 6th Jul 2011, 14:35 -
How can I extract mp3 audio from .mov container without re-encoding?
By Danteism in forum MacReplies: 16Last Post: 3rd Jul 2010, 04:11 -
A few questions on Anamorphic encoding
By scubasam in forum Newbie / General discussionsReplies: 10Last Post: 31st Mar 2010, 22:04