[vdr] How to convert a JPEG image to an I-frame?
Klaus Schmidinger
Klaus.Schmidinger at cadsoft.de
Sun Nov 11 17:22:17 CET 2007
On 11/11/07 16:54, Reinhard Nissl wrote:
> 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
Doing this (with both -f8 and -f7) didn't show anything when
sent via DeviceStillPicture(). I then ran it through mplex
and sent it via PlayPes(), and then I got a picture, but again it was
jagged.
> 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.
More information about the vdr
mailing list