Running video through hello_video not working


7 posts
by Twinkletoes » Tue Jun 05, 2012 12:38 pm
I've tried downloading some test mpeg4 content, but when running in hello_video the video framebuffer doesn't appear to be created (just see the console and a process hang).

Tried re-encoding as h264 using x264 but same result. Tried this on three videos now.

Is the codec really fussy or am I missing something?

Is there a recommended H264 profile to keep the codec happy?

Bryan
Posts: 185
Joined: Fri May 25, 2012 9:44 pm
by Twinkletoes » Tue Jun 05, 2012 12:39 pm
FYI Big Buck Bunny runs absolutely beautifully in the same test.

Bryan
Posts: 185
Joined: Fri May 25, 2012 9:44 pm
by dom » Tue Jun 05, 2012 1:26 pm
What tool are you producing this with? hello_video only supports a raw bitstream (eg file.264), it shouldn't be inside a container (like mp4/mkv).

Supports up to bluray standard (4.1 high profile).
Use omxplayer if you want to handle bitstreams in different containers.
Raspberry Pi Engineer
Raspberry Pi Engineer
Posts: 3864
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by Twinkletoes » Tue Jun 05, 2012 9:39 pm
Posts: 185
Joined: Fri May 25, 2012 9:44 pm
by dom » Tue Jun 05, 2012 10:16 pm
I believe to produce the Big Buck Bunny sample I downloaded the mkv file and ran mkvextract:
http://www.bunkus.org/videotools/mkvtoolnix/
Raspberry Pi Engineer
Raspberry Pi Engineer
Posts: 3864
Joined: Wed Aug 17, 2011 7:41 pm
Location: Cambridge
by colbyparsons » Thu Jun 21, 2012 2:50 am
I wanted to share some solutions I have found regarding the codec issue:

I use Adobe products to create and edit video, and although they list h.264 as a rendering option, the resulting file is either an .mp4 or an .m4v, not an .h264. I haven't found any way to directly create a file with .h264 as the file extension with my video editing software. From what I can tell, .m4v is the closest to being a true avc/h.264 file that you can create with Adobe. And if you are using Adobe programs to render, the only way I have found to create an .m4v is to choose "H.264 Blu-Ray" as the output module. Unfortunately, that choice limits your options as far as image size and fps, which may or may not be a problem depending on whether the option you want is there (the choices are all HD, and sometimes 29.97 fps is not an option, such as with 720p, where you can only choose 59.97 fps or 24 fps). The m4v extension runs successfully on hello_video, by the way.

The other solution I found is to use a free program called "Yamb", which seems to be similar to what Dom was talking about, except it can not only extract a raw .h264 file from an .mkv, but also from an mp4. On their own, I cannot get mp4's to work on hello_video, but when I split the mp4 file with Yamb, I get an .h264 file and an .aac file. This makes it possible for me to render in mp4, which gives me more options (such as 29.97 fps at 720p, which I render as a lossless .avi in After Effects, and then use Adobe Media Encoder to create the .mp4, before stripping away the container using Yamb. If anyone knows a more direct way to get this done, I'm interested.).

Also, it is important to know that if you are trying out different file extensions to see what will work --getting them onto the SD card via FTP-- sometimes things will fail for some reason just because the last thing you tried was incompatible, and you could test several more things with false results. This can only be fixed by restarting your Pi and trying again. So if you are trying out specific render settings to see which exact ones work, keep in mind that you need to reboot after failed attempts if you want to be sure about whether they work.
Posts: 22
Joined: Fri Jan 27, 2012 7:42 pm
by GuillaumeCastevert » Wed Jan 23, 2013 7:32 pm
Hello everyone,

I'm so happy to have solved my issue that I wanted to thank you all for your input and in particular Colby and his son to have found such an easy and elegant solution to display seamlessly a video in loop on the Pi.

I use a Mac so the tools indicated in this thread were not relevant to me, I found a very easy way to convert the videos I produce on my Mac in .mov format to raw .h264.

I downloaded ffmepg
Code: Select all
sudo brew install ffmpeg


then I can convert any video by going to its folder and typing
Code: Select all
ffmpeg -i input.mov output.h264


where input and output are of course to be replaced by the real names of the files.

Hope this helps someone else ;)
Posts: 1
Joined: Wed Jan 23, 2013 7:18 pm