danielgtaylor / arista

Arista Transcoder
http://www.transcoder.org/
GNU Lesser General Public License v2.1
120 stars 19 forks source link

Audio is encoded badly and "choppy", and channels are not respected #78

Open Mikywing opened 13 years ago

Mikywing commented 13 years ago

Recently i encoded a couple of HD videos (mkv, h264, multi-channel audio) but the audio is "choppy". English is not my native language so i don't know how to explain it well... It seems like audio is disturbed by "jumps" and a reduntant "tap-tap" in the background. It doesn't depend by the encoder since i tried vorbis, aac, mp3 and all gives me the same result.

Videos obviously play fine before encoding.

I also noticed strange behaviours regarding audio channels. If i try to encode audio in AAC format (using faac) gnome file properties tells me the audio is mono, and VLC properties tells me "ERROR". If i encode audio in Vorbis, both tell me "mono". If i encode in mp3 (with lame from default divx preset) both tell me "stereo". But all presets are tuned to keep the original multi-channel audio! What's happening?

Oh, i have installed the latest gstreamer packages from the gstreamer-developers ppa

danielgtaylor commented 13 years ago

Even if some presets say they support e.g. 6 channels of audio it might not be supported by the encoder itself, so that might be one cause of this issue - however all the encoders I use support at least two channels. Can you run arista-transcode -s on your files and see what Arista thinks is the number of audio channels in the original? It may have to do with the GStreamer developer PPA - I know things can get broken there.

Mikywing commented 13 years ago

Actually i'm quite busy with university exams, but as soon as i have time i'll try one more time with latest arista and gstreamer to give some feedback!

spektre1 commented 13 years ago

I'm having about the same issue. I'm trying to transcode webm assets ripped from youtube for the sake of testing some video equipment when I noticed this issue. It does not occur on MP4s or FLVs off youtube, so it's only on the vorbis audio. I've transcoded into aac audio, and will try mp3, but arista-transcode -s returns nothing besides "Discovering file info...". What other info would help with this? I'm on Ubuntu 11.04, and would be willing to try running it through gstreamer directly, but I don't know what kind of commands you're passing it. Someone suggested it may be that the variable bit rate is causing issues somewhere in the transcode pipeline.

spektre1 commented 13 years ago

Ok, I just think I solved it; ran a bunch of tests by encoding through gst-launch by hand. This solved it: gst-launch filesrc location=OldSpice.webm ! decodebin name=d { mpegtsmux name = mux ! progressreport ! filesink location=test.ts } { d. ! queue ! audiorate tolerance=10000000 ! audioresample ! audioconvert ! faac profile=LC ! queue ! mux. } { d. ! queue ! ffmpegcolorspace ! x264enc bitrate=2048 profile=baseline ! queue ! mux. }

Specifically the issue seems to be with the audiorate plugin. I had to set a really high tolerance value of Ten million ns, or 1/100th of a second, and that fixed it.

I discussed the issue with some friends and they mentioned (and I did not verify this) that ogg has some form of variable rate encoding that causes issues here. The tolerance value corrects for it.

Hope this helps.