INDEX  F.A.Q.  SEARCH  LATEST POSTS     Rules  Register  Profile  Private messages  Login


Search all forums or this forum: Advanced search
mencoder: ts to avi (x264) with multiple audio stream

Forum Index -> Video -> Linux Printer-friendly version
Reply to topic
Author Message
sven_911
Member


Joined: 24 May 2008
Location: Europe

Post Posted: May 24, 2008 12:27 Posts Comp View users profile Send private message Reply with quote

Hi all,

I have some ts files directly recorded from the sat receiver to the hard disk, which I now want to encode with mencoder to an avi container using x264 as video codec (2GB / hour is way too big).

Code:
mencoder -oac copy -ovc x264 -o out.avi in.ts


This works pretty fine, but if a ts file has more than one audio stream, the option -oac copy takes only the first audio stream. I am searching now the net a few days for a simple solution (without demuxing the ts file), without a result.
Has anyone a simple solution for this problem?

Thanks a lot,
Sven


buzzqw
Member


Joined: 10 Jun 2004
Location: Italy

Post Posted: May 26, 2008 07:01 Posts Comp View users profile Send private message Reply with quote

humble suggestion, try with AutoFF (NOTE COPY AUDIO ISN'T WORKING ACTUALLY, only encoding it)

thanks!

BHH
_________________
AutoMKV, AutoMen and AutoFF Developer


sven_911
Member


Joined: 24 May 2008
Location: Europe

Post Posted: May 28, 2008 02:31 Posts Comp View users profile Send private message Reply with quote

Thanks for the tips!
It was not easy to figure it out of the ffmpeg documentation but finally the command line
Code:
ffmpeg -i in.ts out.avi -vcodec h264 -acodec copy -map 0:0 -map 0:1 -map 0:2 -newaudio
lead to the wanted result (copying the first two stereo streams, stripping the DD2.0 stream)
Quote:
Input #0, mpegts, from 'in.ts':
Duration: 00:41:55.7, start: 1288.327522, bitrate: 7694 kb/s
Stream #0.0[0xe0]: Video: mpeg2video, yuv420p, 720x576, 6800 kb/s, 25.00 fps(r)
Stream #0.1[0xc0](deu): Audio: mp2, 48000 Hz, stereo, 160 kb/s
Stream #0.2[0xc1](eng): Audio: mp2, 48000 Hz, stereo, 160 kb/s
Stream #0.3[0x80](deu): Audio: 0x0000, 48000 Hz, stereo, 448 kb/s
Output #0, avi, to 'out.avi':
Stream #0.0: Video: mpeg4, yuv420p, 720x576, q=2-31, 200 kb/s, 25.00 fps(c)
Stream #0.1: Audio: mp2, 48000 Hz, stereo, 64 kb/s
Stream #0.2: Audio: 0x0000, 48000 Hz, stereo, 160 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Stream #0.2 -> #0.2


Ok, this is out of topic in my own post, but I got a problem configuring the h264 codec. The default settings lead to a really ugly video stream. I used the options from http://rob.opendot.cl/index.php/useful-stuff/ffmpeg-x264-encoding-guide/, but the look of video didn't change a bit. -vcodec mpeg4 leads to a similar ugly result!
I looking for settings that lead to a result comparable to the original mpeg2 stream.

ffmpeg version is
Quote:
~$ ffmpeg -version
FFmpeg version SVN-rUNKNOWN, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --enable-libvorbis --enable-libtheora --enable-libogg --enable-libgsm --enable-dc1394 --disable-debug --enable-shared --prefix=/usr
libavutil version: 1d.49.3.0
libavcodec version: 1d.51.38.0
libavformat version: 1d.51.10.0
built on Jun 3 2007 20:59:25, gcc: 4.1.3 20070528 (prerelease) (Ubuntu 4.1.2-9ubuntu2)
ffmpeg SVN-rUNKNOWN
libavutil 3212032
libavcodec 3352064
libavformat 3344896


buzzqw
Member


Joined: 10 Jun 2004
Location: Italy

Post Posted: May 28, 2008 06:23 Posts Comp View users profile Send private message Reply with quote

your version of ffmpeg is OUTDATED!, x264 on 2007 was is early stage...

add to your repository debian-multimedia

BHH
_________________
AutoMKV, AutoMen and AutoFF Developer


GMaq
Linux Member


Joined: 17 Mar 2004
Location: Canada

Post Posted: May 28, 2008 07:56 Posts Comp View users profile Send private message Reply with quote

Hello,

With all due respect to buzzqw, if you are using Ubuntu you certainly do not want to use the ffmpeg from debian-multimedia, it has numerous dependency conflicts with mjpegtools, mencoder, avidemux and especially libfaad2. Go to www.medibuntu.org and follow the instructions on adding their repo to get a fully enabled ffmpeg with a version of x264 that works great with AutoFF in Ubuntu. Judging by the version you have posted it would appear to be the stock one that comes with Ubuntu and is very limited in use.
_________________
My Site: www.bandshed.net
Wife's Site: www.morethanwordsbooks.ca
My Guide: http://forum.videohelp.com/topic330839.html
My App: http://www.bandshed.net/3GP.html


buzzqw
Member


Joined: 10 Jun 2004
Location: Italy

Post Posted: May 28, 2008 08:06 Posts Comp View users profile Send private message Reply with quote

well i must admit that i use debian sid.. so dependency are all resolved.. automagically by aptitude/dpkg...

thanks GMaq, i will pay more attention next time :p

BHH
_________________
AutoMKV, AutoMen and AutoFF Developer


GMaq
Linux Member


Joined: 17 Mar 2004
Location: Canada

Post Posted: May 28, 2008 08:16 Posts Comp View users profile Send private message Reply with quote

buzzqw,

Well it should be that way, Ubuntu and Debian share a common base but little else any more, debian-multimedia used to be very compatible with Ubuntu up until 7.10, Unfortunately that is no longer the case.
_________________
My Site: www.bandshed.net
Wife's Site: www.morethanwordsbooks.ca
My Guide: http://forum.videohelp.com/topic330839.html
My App: http://www.bandshed.net/3GP.html


buzzqw
Member


Joined: 10 Jun 2004
Location: Italy

Post Posted: May 28, 2008 08:19 Posts Comp View users profile Send private message Reply with quote

thanks for the info, i don't knew of recent "incompatibility", that's another plus to standard debian smile.gif

BHH
_________________
AutoMKV, AutoMen and AutoFF Developer


sven_911
Member


Joined: 24 May 2008
Location: Europe

Post Posted: May 28, 2008 09:10 Posts Comp View users profile Send private message Reply with quote

First, thanks for all replies!

I tried the ffmpeg version from debian-multimedia, which is actually not working. It returned these strange
Quote:
[mp2 @ 0xb7d739f0]encoding 0 channel(s) is not allowed in mp2
Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height

which seems only one person in the google world encountered before.

As recommended I switched to www.medibuntu.org (thanks for that tip!!!), and ffmpeg works again!

But the video using h264 or mpeg4 still looks just awful! No wonder, the video gets encoded at 500kBit...


buzzqw
Member


Joined: 10 Jun 2004
Location: Italy

Post Posted: May 28, 2008 09:43 Posts Comp View users profile Send private message Reply with quote

for bitrate..

just edit your ffmpeg string, and add the -b parameter, for bitrate

ffmpeg -i in.ts out.avi -vcodec h264 -b 1500000 -acodec copy -map 0:0 -map 0:1 -map 0:2 -newaudio

EDIT: just for learing pourpose you can study the command line produced by WinFF or AutoFF

BHH
_________________
AutoMKV, AutoMen and AutoFF Developer


GMaq
Linux Member


Joined: 17 Mar 2004
Location: Canada

Post Posted: May 28, 2008 09:44 Posts Comp View users profile Send private message Reply with quote

sven_911,

If you don't specify a bitrate ffmpeg will just apply whatever default, which in the case of x264 is 500kb. Are you using AutoFF to do this or the commandline? I am not at my computer with AutoFF installed right now but I'm certain you can change the bitrate to whatever you like, there is a tab that is specifically for x264 in ffmpeg.

**EDIT** Buzz typed faster!
_________________
My Site: www.bandshed.net
Wife's Site: www.morethanwordsbooks.ca
My Guide: http://forum.videohelp.com/topic330839.html
My App: http://www.bandshed.net/3GP.html


buzzqw
Member


Joined: 10 Jun 2004
Location: Italy

Post Posted: May 28, 2008 09:46 Posts Comp View users profile Send private message Reply with quote

@GMaq

in autoff you can specify the final size, and bitrate will be computed automatically (and applied to whatever video codec selected)

BHH
_________________
AutoMKV, AutoMen and AutoFF Developer


sven_911
Member


Joined: 24 May 2008
Location: Europe

Post Posted: May 28, 2008 11:39 Posts Comp View users profile Send private message Reply with quote

Quote:
I tried the -b parameter already some time ago, but the codec insists on the 500k limit. I used AutoFF to get a more complex set of parameters...

I was just writing this replay, when I found the bug!
The command line
Code:
ffmpeg -i in.ts out.avi -vcodec h264 -b 1500000 -acodec copy -map 0:0 -map 0:1 -map 0:2 -newaudio
does work, but video is still encoded at 500k. It has to be e.g. like this
Code:
ffmpeg -i in.ts -vcodec h264 -b 1500000 out.avi -acodec copy -map 0:0 -map 0:1 -map 0:2 -newaudio

The output file must not be specified before the codec parameters. ffmpeg is very curious about its parameter list, e.g. specifying in this example the output file at the end of the command line, leads to an syntax error
Code:
ffmpeg -i in.ts -vcodec h264 -b 1500000 -acodec copy -map 0:0 -map 0:1 -map 0:2 -newaudio out.avi


Many thanks to buzzqw and GMaq for your help and time!
Hope this helps some of the frustrated ffmpeg command line users (wild guess) out there.


GMaq
Linux Member


Joined: 17 Mar 2004
Location: Canada

Post Posted: May 28, 2008 11:56 Posts Comp View users profile Send private message Reply with quote

Sven_911,

Glad you got it to work, many versions of ffmpeg including the current medibuntu one will also honor bitrate flags by adding "k" to the bitrate (ie: -b 1500k instead of 1500000)
_________________
My Site: www.bandshed.net
Wife's Site: www.morethanwordsbooks.ca
My Guide: http://forum.videohelp.com/topic330839.html
My App: http://www.bandshed.net/3GP.html


buzzqw
Member


Joined: 10 Jun 2004
Location: Italy

Post Posted: May 28, 2008 13:32 Posts Comp View users profile Send private message Reply with quote

@sven_911

why -newaudio option ? isn't needed afaik.. and.. -map 0:0 ... it's a unneeded plus

BHH
_________________
AutoMKV, AutoMen and AutoFF Developer


sven_911
Member


Joined: 24 May 2008
Location: Europe

Post Posted: Jun 01, 2008 04:41 Posts Comp View users profile Send private message Reply with quote

buzzqw wrote:
@sven_911
why -newaudio option ? isn't needed afaik.. and.. -map 0:0 ... it's a unneeded plus


Actually, no... at least not in my version 3:0.cvs20070307-5ubuntu7+medibuntu1

For the source:
Stream #0.1[0xc0](deu): Audio: mp2, 48000 Hz, stereo, 160 kb/s
Stream #0.2[0xc1](eng): Audio: mp2, 48000 Hz, stereo, 160 kb/s
Stream #0.3[0x80](deu): Audio: ac3, 48000 Hz, stereo, 448 kb/s

ffmpeg -i in.ts out.avi -vcodec h264 -acodec copy is equal to
ffmpeg -i in.ts out.avi -vcodec h264 -acodec copy -map 0:0 -map 0:1

both lead to
Output #0, avi, to 'out.avi':
Stream #0.0: Video: mpeg4, yuv420p, 720x576, q=2-31, 200 kb/s, 25.00 fps(c)
Stream #0.1: Audio: mp2, 48000 Hz, stereo, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1

If you want to add a second audio stream, you have to provide the full mapping info
-map 0:0 -map 0:1 -map 0:2".
But this alone leads to the error
Number of stream maps must match number of output streams.
For each audio stream beyond the first, you have to add -newaudio (1 video + 1 audio stream is default).
So, the correct mapping for two audio streams is
-map 0:0 -map 0:2 -map 0:3 -newaudio (stripping stream 0:1),
for all three
-map 0:0 -map 0:3 -map 0:2 -newaudio -map 0:1 -newaudio (inverted audio stream order).


Reply to topic All times are GMT - 6 Hours
Forum Index -> Video -> Linux Page 1 of 1





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



Jump to:  
Display:   
About   Advertise   Forum Archive   RSS Feeds   Statistics