[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