Hello Hermann,
Some succes at last. Using mediainfo to check the MTS-files, they turned out to be 1920x1080, interlaced, top fields first, 25fps (I guess that means 50 fields per second).
I converted this way:
ffmpeg -i <name>.MTS -acodec mp2 -vcodec mpeg2video -r 25 -b 28000k -flags +ilme+ildct <name>.mpg
This according to mediainfo too is 25fps, interlaced, top fields first.
Setting up the cinelerra format with these parameters, importing the mpg clips and rendering YUVMPEG with this pipe:
ffmpeg -i --y -acodec mp2 -vcodec mpeg2video -r 25 -b 28000k -g1 -top 1 -flags +ilme+ildct %
gives an m2v file (no sound of course) that according to mediainfo is interlaced with topfields first and ....... plays very smooth on the media player WD TV Live Hub!
Halleluja!
Now I have still a question. The conversion from MTS to mpg as described in the first ffmpeg command line above leads to all kinds of messages. I give the details:
ffmpeg -i 00798.MTS -acodec mp2 -vcodec mpeg2video -r 25 -b 28000k -flags +ilme+ildct testje.mpg
ffmpeg version 0.8, Copyright (c) 2000-2011 the FFmpeg developers
built on Jun 23 2011 09:35:04 with gcc 4.5.1 20101208 [gcc-4_5-branch revision 167585]
configuration: --shlibdir=/usr/lib64 --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --disable-static --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid --enable-postproc --enable-gpl --enable-x11grab --extra-cflags='-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fPIC -I/usr/include/gsm' --enable-debug --disable-stripping --enable-libgsm --enable-libschroedinger --enable-libdirac --enable-avfilter --enable-libvpx --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libdc1394 --enable-pthreads --enable-librtmp
libavutil 51. 9. 1 / 51. 9. 1
libavcodec 53. 7. 0 / 53. 7. 0
libavformat 53. 4. 0 / 53. 4. 0
libavdevice 53. 1. 1 / 53. 1. 1
libavfilter 2. 23. 0 / 2. 23. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 50.00 (50/1)
Input #0, mpegts, from '00798.MTS':
Duration: 00:00:07.68, start: 1.000033, bitrate: 17063 kb/s
Program 1
Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
File 'testje.mpg' already exists. Overwrite ? [y/N] y
[buffer @ 0x6567a0] w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
[mpeg @ 0x6395a0] VBV buffer size not set, muxing may fail
Output #0, mpeg, to 'testje.mpg':
Metadata:
encoder : Lavf53.4.0
Stream #0.0: Video: mpeg2video, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 28000 kb/s, 90k tbn, 25 tbc
Stream #0.1: Audio: mp2, 48000 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
[mpeg @ 0x6395a0] buffer underflow i=0 bufi=233848 size=255250rate=2802.5kbits/s
[mpeg @ 0x6395a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x6395a0] buffer underflow i=0 bufi=233848 size=255250
Last message repeated 1 times
[mpeg @ 0x6395a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x6395a0] buffer underflow i=0 bufi=233848 size=255250
And lots and lots of these messages.....
[mpeg @ 0x6395a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x6395a0] buffer underflow i=0 bufi=233637 size=288086
Last message repeated 1 times 1922kB time=00:00:01.16 bitrate=13573.3kbits/s
ffmpeg version 0.8, Copyright (c) 2000-2011 the FFmpeg developers
built on Jun 23 2011 09:35:04 with gcc 4.5.1 20101208 [gcc-4_5-branch revision 167585]
configuration: --shlibdir=/usr/lib64 --prefix=/usr --mandir=/usr/share/man --libdir=/usr/lib64 --enable-shared --disable-static --enable-libmp3lame --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libxvid --enable-postproc --enable-gpl --enable-x11grab --extra-cflags='-fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -fPIC -I/usr/include/gsm' --enable-debug --disable-stripping --enable-libgsm --enable-libschroedinger --enable-libdirac --enable-avfilter --enable-libvpx --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-libdc1394 --enable-pthreads --enable-librtmp
libavutil 51. 9. 1 / 51. 9. 1
libavcodec 53. 7. 0 / 53. 7. 0
libavformat 53. 4. 0 / 53. 4. 0
libavdevice 53. 1. 1 / 53. 1. 1
libavfilter 2. 23. 0 / 2. 23. 0
libswscale 2. 0. 0 / 2. 0. 0
libpostproc 51. 2. 0 / 51. 2. 0
Seems stream 0 codec frame rate differs from container frame rate: 50.00 (50/1) -> 50.00 (50/1)
Input #0, mpegts, from '00798.MTS':
Duration: 00:00:07.68, start: 1.000033, bitrate: 17063 kb/s
Program 1
Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
File 'testje.mpg' already exists. Overwrite ? [y/N] y
[buffer @ 0x6567a0] w:1920 h:1080 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
[mpeg @ 0x6395a0] VBV buffer size not set, muxing may fail
Output #0, mpeg, to 'testje.mpg':
Metadata:
encoder : Lavf53.4.0
Stream #0.0: Video: mpeg2video, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=2-31, 28000 kb/s, 90k tbn, 25 tbc
Stream #0.1: Audio: mp2, 48000 Hz, stereo, s16, 64 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop, [?] for help
[mpeg @ 0x6395a0] buffer underflow i=0 bufi=233848 size=255250rate=2802.5kbits/s
[mpeg @ 0x6395a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x6395a0] buffer underflow i=0 bufi=233848 size=255250
Last message repeated 1 times
[mpeg @ 0x6395a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x6395a0] buffer underflow i=0 bufi=233848 size=255250
And lots and lots of these messages.....
[mpeg @ 0x6395a0] packet too large, ignoring buffer limits to mux it
[mpeg @ 0x6395a0] buffer underflow i=0 bufi=233637 size=288086
Last message repeated 1 times 1922kB time=00:00:01.16 bitrate=13573.3kbits/s
It ends succesfully. Any idea what is going on here? I am certainly not an ffmpeg expert.
Ed
Hi Ed,
first off, I don't have any clue what's going on here, but just systematic
considertation gets us some steps ahead
You're using mpeg2enc, which belongs to the 'mjpegtools'. Thus, there is
no direct connection to Cinelerra, other than that you're feeding the
output of a cinelerra render into the input of mpeg2enc.
Thus, if it worked previously (and you really used identical parameters, even
the same image size), then it must be a change to mpeg2enc.
Next thing is the error message 'Rate control can't cope with a video buffer
smaller 4 frame intervals'. Google turns up the following message
http://www.mail-archive.com/[email protected]/msg07414.html
Note: I don't know what's going on, but I'm just doing "qualified guessing".
This message as well as the warnings in your output point into some problems
with Interlaced/Progressive material. Like as if the input stream to the
encoder is marked as being 'interlaced', while you choose an encoding
parameter for progressive material. Of course, the first question is
what you *want* to do, and what your source material *actually* is
like, i.e. is it interlaced or progressive, and do you want interlaced
or progressive video as a final result? (Note Cinelerra has almost
no real support for interlaced material, it just passes things through)
Maybe this gives any additional clues?
Cheers
Hermann Vosseler
_______________________________________________
Cinelerra mailing list
[email protected]
https://init.linpro.no/mailman/skolelinux.no/listinfo/cinelerra
