[vlc-devel] Mpeg ps test results
mfmbusiness at earthlink.net
Fri Mar 18 03:21:11 CET 2005
If I start VLC with --sout-transcode-fps 25, vlc apparently is outputting a
frame_rate_code corresponding to 25. The resulting .mpg files produced are
OK when checked with ProjectX, and also with the mjpegtools (able to use DVD
authoring software that relies on varies open-source tools to demux the VLC
stream, then reencode it).
If I start VLC with a --sout-transcode-fps either greater than (say 29.97),
or less than (say, 20.0) the actual 25 fps being used to generate the PTS,
the transcode is truly messed up. I can see VLC moving very rapidly through
the source file, definitely too fast to be doing video transcoding. The
output file size is small, also shows no video. Finally, ProjectX also
reports no video found.
I did a search for "25" in the VLC trunk, against .h and .c files. It looks
src/misc/image.c modules/stream_out/transcode.c mux/avi.c
modules/codec/dmo.c modules/codec/rawvideo.c modules/codec/theora.c
Are the only locations with a hard-code of 25 fps.
I am not saying that all of the files have incorrect logic by any means,
just that a correction might need to look at all of them, to see if it
There's absolutely nothing wrong if VLC chooses to implement 25 fps as the
default --sout-transcode-fps. However, the code right now has a bug. If I
have a source file encoded at 29.97, and I choose to specify
--sout-transcode-fps 29.97, I should get an output file with video, that's
encoded with a PTS based on 29.97, and with a system header reporting 29.97.
Similarly, if I have a source file that's starting at 29.97, and I choose to
specify --sout-transcode-fps 25.0, I should be able to get a
successfully-transcoded 25 fps .mpg. I definitely shouldn't have a .mpg
with no video at all.
Anyhow, that's where things stand. If someone smart on transcoding and
frame rate could please take a look at those six files, make a change that
results in consistent output (reported frame_rate_code matching what is used
to generate PTS), it would be great. Otherwise, VLC should hardcode the
--sout-transcode-fps at 25.0 internally, else at least update the
descriptive note for it to state that anything other than 25 fps should only
be used for TS, that would work (far less desirable choices).
I hope this helps, and thanks, gibalou, for suggesting the test of not
transcoding, just remuxing. Your fix on CPU use during file-file transcodes
sure made my life easier, doing the multiple file-file transcodes to check
this out :)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vlc-devel