This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

why the .264 file can't display on pc

i run the dm365 encode demo, and get a .264 file, but it can't decode by Mplayer, the error infomation says as follow:I

D_VIDEO_FPS=0.000 

Error while decoding frame! 

non-existing PPS 0 referenced

it seems that the decoder can't  get the fps and PPS from the video stream!!

but Mplayer can decode the .mpeg4 file correctly.

so, who know how to solve this problem?

THX

  • Hi Jian,

    MPlayer is not able to derive FPS from an elementary stream. You need to specify this explicitly.
    Example: mplayer -fps 24 input.264

    Also ignore the errors given by MPlayer when fps is not specified. They are incorrect, they will go off once the FPS is specified.

    Regards,
    Chaitanya

  • thanks for you reply : )

    well, when i deocde .mpeg4 file using Mplayer, it can get the fps from the stream? why?

    and when deocde the .264 file, Mplayer can not find the PPS from the stream, so what is PPS? how to make the decoder find the pps or how to insert the PPS when i encode?

    THX

  • and the Mplayer i used is for windows xp!

  • Elementary stream need not always have fps information unless it has VUI and picTiming SEI message. Please note that the fps information is not part of PPS. Hence I suggest you to use -fps option of mplayer. Or else you can encapsulate the elemantary stream into a container format like MP4 using mp4Box or some other tool. Then, you should be able to play it without specifying fps.

    Putting VUI/SEI message in stream is supported by the codec but it is not currently exposed in the DVSDK demo. The demo only uses base params.

    regards

    Yashwant

  • jian zhang said:

    well, when i deocde .mpeg4 file using Mplayer, it can get the fps from the stream? why?

    .mp4 is a container which contains explicitly the fps information for the elementary streams inside.
    This information is inserted at the time of creating the mp4. Typically tools that create mp4 files(eg: mp4box, ffmpeg) put a default value of 25 for the fps.
    However, you can explicitly provide fps in such tools.
    eg: MP4BOX has an "-fps" option, FFMPEG has "-r" option to specify the fps

     

    Regards,
    Chaitanya

  • thanks for your reply :)

    well, as what you said, i can not  decode the .264 file in windows by mplayer? but someone said (see as follow...)it can be decoded by mplayer or vlc, so why?  

    "I wonder have anyone encountered the decoding problems with H.264 bitstream produced by the TI's encoder on DM365? When I use DVSDK demo for H.264 encoder (h264enc-r) with its default settings (set in testparams.cfg) the encoded file is decodable by command-line ffmpeg application (though it complains about some errors, the output YUV file looks allright). "

    http://e2e.ti.com/support/embedded/f/356/p/39725/139319.aspx#139319

     

    and another issue is the PPS, when decode the .264 file by  mplayer, it show the error infomations as follow: no frame, non-existing PPS.

    so, i want to know, whether i get the correct 264 bitstream or not when i run the encode demo?

    hope to hear from you soon...

  • jian zhang said:

    well, as what you said, i can not  decode the .264 file in windows by mplayer? but someone said (see as follow...)it can be decoded by mplayer or vlc, so why?  

    and another issue is the PPS, when decode the .264 file by  mplayer, it show the error infomations as follow: no frame, non-existing PPS.

    so, i want to know, whether i get the correct 264 bitstream or not when i run the encode demo?

    You can decode .264 in mplayer (in windows as well as linux). But to do this you need to explicitly use the -fps option.
    The errors related to missing PPS given by MPlayer are incorrect. There is no problem with the stream. These errors will go away once you specify the fps.

    You need to run the .264 from command line using the following command:
    mplayer -fps 25 <input.264>

    Get the latest MPlayer for windows from:
    http://oss.netfarm.it/mplayer-win32.php

    Regards,
    Chaitanya

     

     

  • thanks for your reply

    another issue is the PPS, why does not the decoder (e.g. Mplayer) find the PPS? i have read some posts, it seems that there is one PPS in the first IDR frame.

    THX

  • en, thank you very much

    i can decode the .264 file

  • jian zhang said:

    thanks for your reply

    another issue is the PPS, why does not the decoder (e.g. Mplayer) find the PPS? i have read some posts, it seems that there is one PPS in the first IDR frame.

    THX

    This is a bug in MPlayer. Or rather insufficient robustness in terms of handling elementary streams. The errors given are wrong.

    Had the SPS contained VUI/picTiming information, MPlayer would have functioned properly.  As Yashwant mentioned above, this is supported in the codec but not through the base params which are used in the demo.

    Regards,
    Chaitanya

  • you mean that  when i run the demo, the codec insert the SPS which contained VUI/pivTiming automaticly?

    because i will decode the h.264 bitstream real time on my PC, and using ffmpeg as the decoder, so the decoder can not  get the fps parameter automaticly, i have to set the fps, you think so?

    THX

  • jian zhang said:

    you mean that  when i run the demo, the codec insert the SPS which contained VUI/pivTiming automaticly?

    because i will decode the h.264 bitstream real time on my PC, and using ffmpeg as the decoder, so the decoder can not  get the fps parameter automaticly, i have to set the fps, you think so?

    THX

    The demo does not insert VUI/picTiming.
    ffmpeg and MPlayer will require manual setting of fps for playing demo output.

     

    Regards,
    Chaitanya