skorotkov / ossbuild

GStreamer 0.10 windows build environment. Automatically exported from code.google.com/p/ossbuild
Other
0 stars 0 forks source link

ffdec_h264 problem #112

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Hi all,
       I downloaded OSSBuild 0.10.6 using it under windows.
I have in a Linux PC the following pipe

gst-launch -v gstrtpbin  v4l2src ! ! 
video/x-raw-yuv,width=320,height=240,framerate=15/1 ! videorate ! 
ffmpegcolorspace ! x264enc byte-stream=true bitrate=128 ! rtph264pay pt=99 ! 
udpsink port=5000 host=192.168.100.194

In reception I use a java program using java-gstreamer 1.4 in order to decode 
the stream and visualize it in swing videocomponent. In reception the pipe is 

gst-launch udpsrc 
caps=application/x-rtp,media=video,clock-rate=90000,encoding-name=H264 
port=5000 ! rtph264depay ! ffdec_h264 ! ffmpegcolorspace ! autovideosink  

If I start first the java program and after the send pipe on linux the program 
works well although sometimes it crashes saying that there is a problem on lib 
avcodec. If I start the Linux pipe and after the java program, the video isn't 
fluent and in the console I can see 

0:00:04.671875000  3680   033F3030 ERROR                 ffmpeg .:0:: 
non-existing PPS referenced
0:00:04.671875000  3680   033F3030 ERROR                 ffmpeg .:0:: 
non-existing PPS 0 referenced
0:00:04.671875000  3680   033F3030 ERROR                 ffmpeg .:0:: 
decode_slice_header error
0:00:04.671875000  3680   033F3030 ERROR                 ffmpeg .:0:: no frame!
0:00:04.687500000  3680   033F3030 ERROR                 ffmpeg .:0:: 
non-existing PPS referenced
0:00:04.687500000  3680   033F3030 ERROR                 ffmpeg .:0:: 
non-existing PPS 0 referenced
0:00:04.687500000  3680   033F3030 ERROR                 ffmpeg .:0:: 
decode_slice_header error

The same code instead works well without any problem under Linux, so the 
problem is related to windows OSSBuild library. How I can solve it?

Thanks in advance and have a nice day
G..

Original issue reported on code.google.com by giorgio....@gmail.com on 24 Feb 2011 at 8:30

GoogleCodeExporter commented 8 years ago
Have you tried the latest beta release?

Original comment by david.g.hoyt on 24 Feb 2011 at 4:06

GoogleCodeExporter commented 8 years ago
Yes I tried and it gives me same problems.

Original comment by giorgio....@gmail.com on 24 Feb 2011 at 4:08

GoogleCodeExporter commented 8 years ago
Do you think that problems are on ffmpeg? In which libraries? For example which 
is the library related to ffmpeg and ffdec_h264 Element?

Original comment by giorgio....@gmail.com on 24 Feb 2011 at 4:11

GoogleCodeExporter commented 8 years ago
Well I'd compare the FFmpeg versions on both systems. It could be that the 
FFmpeg on your Linux system is outdated or ours is (vice-versa). I'd compare 
your same program using different Linux distros w/ diff. FFmpeg versions. You 
could just be getting lucky that the versions of FFmpeg are the same across the 
Linux machines you're using.

If ours is outdated, it's simple enough to compile a newer version and test 
against it. You also might want to try gstreamer's native h264 plugins instead 
of the ffmpeg ones.

Original comment by david.g.hoyt on 24 Feb 2011 at 4:17

GoogleCodeExporter commented 8 years ago
Hi David and thanks for the answer. I would like to explain better the 
situation so you can give me rights expedients. I made tests using two Linux PC 
e two Windows PC where in Windows PC I put 0.10.6 and 0.10.7 (and after also 
0.10.5) and Linux with an old version of gstreamer plugins (all plugins are 
older than that present in 0.10.6) a Linux machine with newer plugin versions. 
Generally Linux library older and newer don't show any problem instead of 
Windows version where I receive the problem above mentioned and also the 
following line

Additional debug info:
..\..\..\Source\gstreamer\libs\gst\base\gstbasesink.c(2597): gst_base_sink_is_to
o_late (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstDshowVideoS
ink:autovideosink0-actual-sink-dshowvideo:
There may be a timestamping problem, or this computer is too slow.
WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/Gst
DshowVideoSink:autovideosink0-actual-sink-dshowvideo: A lot of buffers are being
 dropped.

In every case you said two important things 

>it's simple enough to compile a newer version and test against it.

Could you explain me how I can compile newer version? (Steps to perform, 
because I have not idea how to reach this objective)For example the version 
that I use in Linux of libgstffmpeg.so 0.10.11 while in 0.10.6 there is the 
0.10.8 (although the linux version 0.10.6.2 older than winossbuild works 
without any problems)

>You also might want to try gstreamer's native h264 plugins instead of the 
ffmpeg ones.

About which plugins do you speak about? Which ones?

Please help me because it is very important for me to have the possibility to 
decode h264 with good performance without crashes

Original comment by giorgio....@gmail.com on 24 Feb 2011 at 5:15

GoogleCodeExporter commented 8 years ago
> About which plugins do you speak about? Which ones?

You might want to take a look and follow issue #12.

> Could you explain me how I can compile newer version? 

To compile a new version of FFmpeg, I'd follow their documentation. You can 
look at how we did it for Windows by examining the script at:

http://code.google.com/p/ossbuild/source/browse/trunk/Libraries/Build-All-Window
s-x86.sh line #1974.

Our build is a bit different b/c we do 2 different builds -- one that's 
LGPL-only and another that's GPL+LGPL.

Then just replace av*.dll's with your new ones and re-run your program.

Original comment by david.g.hoyt on 24 Feb 2011 at 7:18

GoogleCodeExporter commented 8 years ago
Please reevaluate this using the latest source from the repo. This may be 
resolved since issue #12 seems to be resolved.

Original comment by david.g.hoyt on 23 Mar 2011 at 8:45

GoogleCodeExporter commented 8 years ago
Hi David and thanks for the information. I will provide to test the issue 
within the end of this week updating this post.

Original comment by giorgio....@gmail.com on 24 Mar 2011 at 8:21