GStreamer with VDPAU (h264 acceleration with nVidia cards) - cuda

I use last version of gstreamer plugins bad and I would like to try VDPAU.
I test with the big buck bunny movie from blender foundation.
I've try with this command :
gst-launch-0.10 filesrc=/home/alex/big.mp4 ! mp4mux ! vdpauh264dec ! vdpauvideopostprocess ! vdpausink but it could not link mp4mux with vdph264dec.
I also tried with ffdemux_mov_mp4_m4a_3gp_3g2_mj2 instead of mp4mux and gst-launch fail but with an error message :
[...]
Could not create vdpau decoder
[...]
Error returned from vdpau was: An invalid/unsupported VdpDecoderProfile value was supplied
[...]
How can I play h264 with VDPAU capabilities of my NVIDIA card?
Thanks in advance for any help, and please excuse my bad english.
Regards,

mp4mux is a muxer, not a demuxer. You should indeed use ffdemux_mov_mp4_m4a_3gp_3g2_mj2. The following command line worked for me:
gst-launch-0.10 filesrc location=/home/manu/big.mov ! ffdemux_mov_mp4_m4a_3gp_3g2_mj2 ! vdpauh264dec ! vdpauvideopostprocess ! vdpausink

Related

What does gstreamer's h264parse really do?

I'm confused with what h264parse really does.
I tested with this commands:
with h264parse:
gst-launch-1.0 videotestsrc num-buffers=10 ! x264enc ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
without h264parse:
gst-launch-1.0 videotestsrc num-buffers=10 ! x264enc ! avdec_h264 ! videoconvert ! autovideosink
it makes no difference and both work fine.
Then I tried to save h264 into file and then open it.
save it into file:
gst-launch-1.0 videotestsrc num-buffers=10 ! x264enc ! filesink location=videotestsrc.h264
Open it with h264parse, it works ok and I can see the video:
gst-launch-1.0 filesrc location=videotestsrc.h264 ! h264parse ! avdec_h264 ! videoconvert ! autovideosink
But if I open it without h264parse:
gst-launch-1.0 filesrc location=videotestsrc.h264 ! avdec_h264 ! videoconvert ! autovideosink
it does not work and the error message is like this:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/avdec_h264:avdec_h264-0: GStreamer error: negotiation problem.
Additional debug info:
gstvideodecoder.c(2448): gst_video_decoder_chain (): /GstPipeline:pipeline0/avdec_h264:avdec_h264-0:
decoder not initialized
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
I don't know how to understand it.
Thanks
According to the documentation of avdec_h264, his sink expects parsed format of h264 stream. And what h264parse does, it just parses bytes of h264 in a way that avdec_h264 could understand.
# avdec_h264 sink
video/x-h264:
alignment: au
stream-format: { (string)avc, (string)byte-stream }
video/x-h264:
alignment: nal
stream-format: byte-stream
# h264parse src
video/x-h264:
parsed: true
stream-format: { (string)avc, (string)avc3, (string)byte-stream }
alignment: { (string)au, (string)nal }
So, h264parse doesn't decode h264 bytes into the raw video stream, it just assembles bytes in some form.

Easeljs 'createPattern' on 'CanvasRenderingContext2D Issue

I am developing game using easeljs frame work i am getting following error.
Uncaught TypeError: Failed to execute 'createPattern' on 'CanvasRenderingContext2D': No function was found that matched the signature provided.
Any One please help me.
Thanks in advance
manoj kumar

Syslog-ng format-json not working

I'm desperately trying to send a message as JSON to a PHP script.
destination d_php {
program("/usr/bin/php -f /data/htdocs/log.php" template("$(format-json)\n") ) ;
};
The php script is fine. Using simple macros works well, but the "format-json" function does always return this:
error in template: $(format-json)
I tried everything I could find in the documentation, but all response I get is "error in template". The official docs (link) even use 2 different spellings, not very promising.
Any ideas?
the format-json and format_json syntax should both work, hyphens and underscores are equivalent in syslog-ng.
As for the actual problem, have you tried setting the scope parameter of format-json, like "$(format_json --scope selected_macros)"? By default, it is empty, which means there is nothing to format.
HTH,
Regards,
Robert Fekete
Found the reason. Apparently, syslog-ng is split into separate packages on Ubuntu (12). I had to install syslog-ng-mod-json.
It's really a shame that syslog-ng doesn't give the slightest hint that the function is missing or unknown, instead of some general error.
If you are compiling from the source, you shall install json-c library first (yum install json-c-devel).

URISyntaxException error with MailChimp

I'm getting this type of error:
java.net.URISyntaxException: Illegal character in authority at index 8: https://us7";.api.mailchimp.com/1.3/?method=lists
Firstly, I've checked that my code it works in a simple project Maven 2 project. Later, I've moved my code in my application, but it doesn't work correctly !
Any ideas would be appreciated !
Thanks in advance !
Finally, I've solved my problem. The key I've written in a properties file, it was with double quotes and semi-colon.

FireBreath does not compile with boost process header file included

I wanted to launch the process from firebreath,so I included "boost/process.hpp". Just including this header alone throws compile error.
could some one help?
FireBreath 1.6.1, FireBreath 1.7.0,windows 8
Error:
2>C:\Projects\plugin\FireBreath\src\3rdParty\boost\boost/process/detail/pipe.hpp(129): error C2665: 'boost::system::system_error::system_error' : none of the 7 overloads could convert all the argument types
2> C:\Projects\plugin\FireBreath\src\3rdParty\boost\boost/system/system_error.hpp(39): could be 'boost::system::system_error::system_error(int,const boost::system::error_category &,const std::string &)'
2> C:\Projects\plugin\FireBreath\src\3rdParty\boost\boost/system/system_error.hpp(43): or 'boost::system::system_error::system_error(int,const boost::system::error_category &,const char *)'
2> while trying to match the argument list '(DWORD, overloaded-function, const char [54])'
I faced same problem
boost: 1.47
OS: Windows XP (32 bit VM)
But not with FireBreath
I changed boost::system::system_category to boost::system::system_category() in pipe.hpp line 129
the boost::process library that was in FireBreath has compilation errors in them. I have fixed those errors and it now compiles for me, at least when including . I haven't actually tried to use it on windows yet, nor I suspect has anyone else.
Good luck, hope that helps.