On Fri, 2004-01-02 at 02:01, Steven M. Schultz wrote:
> 
>       Hmmm, I knew ffmpeg

Indeed.  I have seen some of your traffic on the ffmpeg-devel list.

>  had mpeg1 encoding capability (from libavcodec)
>       and it can, if you say the right magic words, produce MPEG1
>       ES (Elemental Stream) files.

Right.  I think mencoder can leverage on that too.

>       I am fairly sure that the problem is that mencoder produces AVI files

Steven!  I had hoped you'd have given me more credit than that.  :-)

I know that by default mencoder does produce avi contained files (which
I am trying with great effort to get the hell away from.  However, it
has a switch "-of" which you can set to "mpeg", to get an mpeg
container.

>       - they're already "muxed" and definitely not MPEG1 ES files and that 
>       is why mplex can't recognize them.  

I don't think so.  Mplayer tells me this about the file (if there is a
better utility to determine the parameters of an MPEG file, I would be
more than glad to use it rather than mplayer):

Playing test.mpeg1.
[file] File size is 19034112 bytes
STREAM: [file] test.mpeg1
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Checking for YUV4MPEG2
DEMUXER: freeing demuxer at 0x84ab820
ASF_check: not ASF guid!
DEMUXER: freeing demuxer at 0x84ab820
Checking for NuppelVideo
DEMUXER: freeing demuxer at 0x84ab820
Checking for REAL
DEMUXER: freeing demuxer at 0x84ab820
Checking for SMJPEG
DEMUXER: freeing demuxer at 0x84ab820
DEMUXER: freeing demuxer at 0x84ac088
Searching demuxer type for filename test.mpeg1 ext: .mpeg1
Checking for MOV
DEMUXER: freeing demuxer at 0x84ac088
Checking for VIVO
header block 1 size: 0
DEMUXER: freeing demuxer at 0x84ac088
DEMUXER: freeing demuxer at 0x84ac088
DEMUXER: freeing demuxer at 0x84ac088
DEMUXER: freeing demuxer at 0x84ac088
DEMUXER: freeing demuxer at 0x84ac088
DEMUXER: freeing demuxer at 0x84ac088
DEMUXER: freeing demuxer at 0x84ac088
Checking for PVA
DEMUXER: freeing demuxer at 0x84ac088
Checking for MPEG-TS...
TRIED UP TO POSITION 70963, FOUND 47, packet_size= 0, SEEMS A TS? 0
DEMUXER: freeing demuxer at 0x84ac088
Checking for LMLM4 Stream Format
Invalid packet in LMLM4 stream: ch=0 size=553648376
LMLM4 Stream Format not found
DEMUXER: freeing demuxer at 0x84ac088
system stream synced at 0xB (0)!
==> Found video stream: 0
MPEG-PS file format detected.
 
Too many video packets in the buffer: (4096 in 8302122 bytes).
Maybe you are playing a non-interleaved stream/file or the codec failed?
For AVI files, try to force non-interleaved mode with the -ni option.
ds_fill_buffer: EOF reached (stream: audio)
MPEG: No audio stream found -> no sound.
Searching for sequence header... OK!
VIDEO:  MPEG1  352x480  (aspect 2)  29.970 fps    0.0 kbps ( 0.0 kbyte/s)
[V] filefmt:2  fourcc:0x10000001  size:352x480  fps:29.97  ftime:=0.0334

Mplayer seems to think it's an MPEG-PS stream, without audio even.  I
also tried mencoder with "-nosound" to ensure there was no audio stream.

> >    INFO: [mplex] mplex version 2.2.2 ($Date: 2003/05/13 20:27:15 $)
> > **ERROR: [mplex] File test.mpeg1 unrecogniseable!
> >    INFO: [mplex] File test.mp3 looks like an MPEG Audio stream.
> > **ERROR: [mplex] Unrecogniseable file(s)... exiting.
> 
>       Right - the file's already multiplexed, into an avi stream.

No it's not.  It's an MPEG file.  It could be multiplexed already with a
"null" soundtrack perhaps.  How can I determine if that is what mplex is
complaining about?

>       If you're determined to avoid mpeg2enc

Well, as we have discussed here before, I have no inherent issues with
mpeg2enc other than it takes waaaaaay too long to encode.  Granted it's
a very nice encoding when it does finally finish, but I don't have the
CPU bandwidth to spend 8 hours to convert 1 hour of video that I am only
going to watch once and then delete.

>  then you might use 'ffmpeg'
>       to do the encoding - it can produce ES files rather than AVI files.

Mencoder can produce mpeg files too.  See above.

I would use ffmpeg, but I want some of the filters mencoder/mplayer
has.  Specifically the --detc filter, and crop (I know ffmpeg can crop,
but it does not have the equivalent of --detc AFAIK)
 
>       Something like this (suitably modified for your situation of course)
>       might work better.   I was testing the mpeg2 encoding capability
>       so for mpeg1 you'd change the 'mpeg2video' to be 'mpeg1video'

Actually, my ultimate target is MPEG2, but I thought I would play with
mpeg1 first.

>  and
>       of course set the bitrate and bufsize down to reasonable values:
> 
> ffmpeg -f yuv4mpegpipe -i susi_120.y4m -b 7000 -ilme -ildct \
>     -aspect 4/3 \
>     -top 1 -g 15 -maxrate 7500 -f mpeg1video -vcodec mpeg2video \
>     -bufsize 1840  -y xxx
> 
>       MPEG1's most commonly used for VCD (352x240) - is that what you're
>       doing?

Not really.  Playing back on a television, which is why I am truely more
interested in mpeg2.

b.

-- 
My other computer is your Microsoft Windows server.

Brian J. Murrell

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to