[vdr] How to convert a JPEG image to an I-frame?

Reinhard Nissl rnissl at gmx.de
Sun Nov 11 16:54:41 CET 2007


Hi,

Klaus Schmidinger schrieb:

>> Hhm, if you set -n 3 for ppmtoy4m, mpeg2enc should detect, that there
>> are no changes.
> 
> The command sequence I use now looks like this:
> 
>   pnmscale $S $TMP1 | \
>   pnmpad -black -width 704 -height 576 | \
>   ppmntsc --pal | \
>   ppmtoy4m -F 25:1 -A 4:3 -I p -r -S 420mpeg2 -v 2 -n 3 | \
>   mpeg2enc -f 7 -a 2 -q 1 -n p -I 0 -T 120 -R 2 -g 10 -G 12 -o "$TMP2"
>   mplex -f 7 -o "$MPG" "$TMP2"
> 
> and results in a file with three I-frames:
> 
>    INFO: [mplex] VIDEO_STATISTICS: e1
>    INFO: [mplex] Video Stream length:      316949 bytes
>    INFO: [mplex] Sequence headers:        3
>    INFO: [mplex] Sequence ends   :        2
>    INFO: [mplex] No. Pictures    :        3
>    INFO: [mplex] No. Groups      :        3
>    INFO: [mplex] No. I Frames    :        3 avg. size105649 bytes
>    INFO: [mplex] No. P Frames    :        0 avg. size     0 bytes
>    INFO: [mplex] No. B Frames    :        0 avg. size     0 bytes
> 
> So it's a step forward, but we need to make this one I- and two (or more)
> P-frames.

Try these options:

mpeg2enc -f 8 -a 2 -q 1 -n p -I 0 -T 120 -R 0 -g 10 -G 12 -o noSignal.mpg

But I still think that there is no need to repeat anything. Sending a
progressive I-frame as still image should be sufficient, no matter what
size the file has. Don't know whether the DVB-API has some limitations
regarding image size of still frames.

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:rnissl at gmx.de



More information about the vdr mailing list