Mailinglist Archive: opensuse-multimedia-de (170 mails)

< Previous Next >
Re: [suse-multimedia] mencoder, ffmpeg und DVD-Standalone-Player
  • From: Benjamin Dombert <bennidombert@xxxxxx>
  • Date: Fri, 31 Mar 2006 15:48:02 +0200
  • Message-id: <200603311548.03116.bennidombert@xxxxxx>
Hallo Maik,

erstmal vielen Dank für Deine Antwort!

Am Freitag, 31. März 2006 11:29 schrieb Maik Holtkamp:
> Hi,
>
> 0n 06/03/30@18:18 Benjamin Dombert told me:
>
> Ich kenne mencoder/mplayer nur recht oberflaechlich.
>
> > ich nehme gelegentlich TV-Sendungen mit meiner Terratec Cinergy 400 TV
> > mobile auf. Dazu nutze ich das Frontend kalva, welches - von mir etwas
> > modifiziert, da standardmäßig nach mpeg4/DIVX konvertiert wird -
> > Konsolenbefehle á la
> >
> > <cut>
> > echo "/usr/bin/mencoder tv:// -tv
> > driver=v4l2:norm=PAL:device=/dev/video0:input=0:quality=0:width=720:heigh
> >t=576:channel=SE9:adevice=/dev/dsp1:immediatemode=0 -ovc lavc -lavcopts
> > vcodec=mpeg2video:vbitrate=2600:vratetol=9000:aspect=1.31765:vhq:keyint=1
> >32:acodec=ac3:abitrate=160
>
> 2600 sind Schnitt, oder?

kA; man mplayer sagt dazu nur:

vbitrate=<value>
Specify bitrate (pass 1/:2) (default: 800).

> Ich wuerde mehr nehmen.
>
> Auch 160 kbit fuer den Sound sind bei ac3 (zumindest bei 5.1) sehr
> mager. 384 ist hier gebraechlicher.


OK, hier werde ich bei den nächsten Aufnahmen mal mit verschiedenen Werten
experimentieren.

> > -oac lavc -vf crop=690:552,pp=lb,scale=720:576,hqdn3d=4:3:6 -of mpeg
> > -mpegopts format=dvd -endpos 00:01:00 -o
> > \"/home/benni/test/VOX_\`/bin/date +%a_%d.%b.%G_%H%M%S\`.avi\"" | at
> > 17:41 31.03.2006
> > </cut>
>
> Ich wuerde tippen es liegt an der sample Frequenz des Sound. Aus TV
> Karten bekommt man haeufig 32000 oder 44100. Auf dvd ist aber nur
> 48000 erlaubt.


ooops ... sorry, hier ist ein Tip-/Kopierfehler: Ich habe hier verschiedene
Kalvas drauf und war an dieser Stelle beim abschicken etwas voreilig.
Natürlich hab ich bei den genannten Problemfällen noch den Ausdruck

<cut>
-af lavcresample=48000:volume=6 -srate 48000
</cut>

in der Filterkette mit drin.
Den Ton frisst mein DV-444 ja auch bislang anstandslos...

> Was sagt tcprobe -i <file> zum dem Teil das Probleme macht?

ich habe hier einen Streifen von sowohl vor als auch nach dem
ffmpeg-Durchlauf.
Bei der aufgenommenen Fassung sagt es:


[tcprobe] MPEG program stream (PS)
[tcprobe] summary for ./Schnitt-Folge1-alt.mpeg, (*) = not default, 0 = not
detected
import frame size: -g 720x576 [720x576]
aspect ratio: 4:3 (*)
frame rate: -f 25.000 [25.000] frc=3
PTS=0.1800, frame_time=40 ms, bitrate=8000 kbps
audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000]
PTS=0.1020, bitrate=128 kbps
-D 1 --av_fine_ms 37 (frames & ms) [0] [0]



Nach dem re-encodieren durch ffmpeg:

tcprobe -i ./Schnitt-Folge1.mpeg
[tcprobe] MPEG program stream (PS)
[tcprobe] summary for ./Schnitt-Folge1.mpeg, (*) = not default, 0 = not
detected
import frame size: -g 720x576 [720x576]
aspect ratio: 4:3 (*)
frame rate: -f 25.000 [25.000] frc=3
PTS=0.5000, frame_time=40 ms, bitrate=9000 kbps
audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000]
PTS=0.5000, bitrate=448 kbps
-D 0 --av_fine_ms 0 (frames & ms) [0] [0]



außer den anderen Bitraten kann ich daraus keinen Unterschied erkennen ..:-(

> BTW: Die Endung .avi ist recht ungewoehnlich fuer mpeg2.
>
> > <cut>
> > ffmpeg -i /home/benni/test/filmblabla.mpeg -target dvd
> > ./filmblabla-ffmpeg.mpg </cut>
>
> Vielleicht reicht es das Orginal einfach neu zu muxen:


werde ich auch bei Gelegenheit mal testen. Schaden kann's ja jedenfalls nicht!


> mplayer -dumpfile video.m2v -dumpvideo <file>
> mplayer -dumpfile audio.ac3 -dumpaudio <file>
> mplex -f 8 -o film.mpg audio.ac3 video.m2v
>
> Sollte zumindest das neu encodieren (=schlechtere Qualitaet) sparen.


Noch etwas: Ich habe mir mal die Quelldatei ffmpeg.c angeschaut: Wenn man es
mit -target dvd aufruft, setzt es intern die folgenden Werte (Kommentare von
den Entwicklern):
<cut>
opt_video_codec("mpeg2video");
opt_audio_codec("ac3");
opt_format("dvd");

opt_frame_size(norm ? "720x480" : "720x576");
opt_frame_rate(frame_rates[norm]);
opt_gop_size(norm ? "18" : "15");

video_bit_rate = 6000000;
video_rc_max_rate = 9000000;
video_rc_min_rate = 0; //1500000;
video_rc_buffer_size = 224*1024*8;

mux_packet_size= 2048; // from www.mpucoder.com: DVD sectors contain
2048 bytes of data, this is also the size of one pack.
mux_rate = 10080000; // from mplex project: data_rate = 1260000.
mux_rate = data_rate * 8

audio_bit_rate = 448000;
audio_sample_rate = 48000;
</cut>

Videocodec, Audiocodec, Format, Frame size, norm müssten bei meinem
mencoder-Aufruf ja damit übereinstimmen. Die Video-Bitrate erscheint mir
nicht als des Problems Kern, da der Player die DVDs auch dann nimmt, wenn ich
ffmpeg anweise, eine niedrigere Bitrate als die hier voreingestellte zu
nehmen. Ton - wie gesagt - lief ohne Probleme.
Mencoder kennt bei den -mpegopts noch die Optionen vrc_maxrate, vrc_minrate,
vrc_buf_size (soll lt. man mencoder bei DVDs 1835 sein), muxrate (lt. man
mencoder standardmäßig 1800 kb/s). Für die mux_packet_size kann ich bei
mencoder keine Entsprechung finde.
Würde es sich ggf. lohnen, mit diesen Optionen auch mal zu spielen? Und dann
kann man bei den -mpegopts (MPEG Muxer) nochmal vbitrate und vframerate
einstellen. Muss ich das auch noch tun oder reicht es, wenn die Bitrate schon
bei den lavcopts angegeben ist?

Einen schönen Gruß in die Runde und weiter vielen Dank für Antworten ;-)

Benni

< Previous Next >
List Navigation