|
|
INDEX F.A.Q. SEARCH LATEST POSTS
Rules Register Profile Private messages Login
| Author |
Message |
sven_911 Member
Joined: 24 May 2008 Location: Europe
|
|
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
|
|
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
|
|
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
|
|
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
|
|
buzzqw Member
Joined: 10 Jun 2004 Location: Italy
|
|
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
|
|
buzzqw Member
Joined: 10 Jun 2004 Location: Italy
|
|
thanks for the info, i don't knew of recent "incompatibility", that's another plus to standard debian
BHH
_________________ AutoMKV, AutoMen and AutoFF Developer
|
|
sven_911 Member
Joined: 24 May 2008 Location: Europe
|
|
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
|
|
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
|
|
buzzqw Member
Joined: 10 Jun 2004 Location: Italy
|
|
@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
|
|
| 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
|
|
buzzqw Member
Joined: 10 Jun 2004 Location: Italy
|
|
@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
|
|
| 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).
|
|
|
|
|
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
|
|