## Appendix D. H264

This Section contains some of the answers from the mailing list about h.264. Please read this first before sending another question to the mailing list.

Paul Gregoire Posted initial Support in his Blog 6. October 2008 18:34: Steven and I got h264 working ! http://gregoire.org/2008/10/06/red5-h264/

Questions:

## D.1. Does Red5 plan to support H.264/ACC streams in the next release, maybe 0.7.1?

You can check out Paul's mp4/f4v branch here: http://red5.googlecode.com/svn/java/server/branches/paulg_mp4/

and according to the plan it should be part of the 0.7.1 release - afaik.

And I'll let Paul speak for himself :-) http://osflash.org/pipermail/red5_osflash.org/2008-January/018483.html

Paul:I feel like I'm done it myself a million times :-) I'm currently active in the mp4 / h.264 branch and I would love to have it be part of the 0.7.1 release. The problem for me is that I'm not sure when I will be done and I would like to 0.7.1 go live very soon; it is more likely that 0.7.2 will include the release of h.264.

In actuality it is now scheduled for the 0.9.0 release but it may make it into 0.8.0. The 0.7.1 version will not be released - Paul

## D.2. why are .mp4 files also listed in oflaDemo webapp grid as possible streams?

The "correct" extension in Adobe's case is F4V for Mpeg4 / h.264 encoded content. If you want a video that works, use the sample that comes with FMS3: AdobeBand_1500K_H264.mp4 Like I stated in my email/post, I have clean-up to do in addition to making the video config packet dynamic (the one that contains the decoder settings).

If you specify the flv extension that is what you will get, it will not include h264 content. FLV is expected to be any of the following video codecs: vp6, screenvideo, or h263. The audio will also not support AAC / MP4A for the flv extension. The f4v, mp4, and mov extensions will be provided by the MP4Reader class. The f4v file may contain avc1, vp6e, h264, mp4 for video and aac, mp4a, mp3, pcm for audio (there may be more but thats what I recall). Along side the MP4Reader is an audio only reader for AAC/MP4A files in the same style as the MP3Reader; it will be released at the same time and is for audio only files.

## D.3. howto convert to h.264 using ffmpeg?

Here is a ffmpeg encoding line to provide mp4 with h264 codec readable with flash player 9 , FLVTOOL useless.

options="-vcodec libx264 -b 512k -bf 3 -subq 6 -cmp 256 -refs 5 -qmin 10 \
-qmax 51 -qdiff 4 -coder 1 -loop 1 -me hex -me_range 16 -trellis 1 \
-flags +mv4 -flags2 +bpyramid+wpred+mixed_refs+brdo+8x8dct \
-partitions parti4x4+parti8x8+partp4x4+partp8x8+partb8x8 -g 250 \
-keyint_min 25 -sc_threshold 40 -i_qfactor 0.71"
ffmpeg -y -i "$X" -an -pass 1 -threads 2 $options "$tmpfile"
ffmpeg -y -i "$X" -acodec libfaac -ar 44100 -ab 96k -pass 2 \
-threads 2 $options "$tmpfile"
qt-faststart "$tmpfile" "$outfile"

## D.4. Does anyone have a link to an explaination of h264 licensing?

http://www.mpegla.com/avc/avc-licensees.cfm

http://www.flashmediaserver-blog.de/2008/05/21/54/ (skip the german text of the top) the list (in short ) from their:

H264 /commercial if a Enduser chooses to pay title-by-title o no fee for videos shorter then 12 minutes o else the lower of: 0,02 US$ per Titel or 2% of the Price that the Enduser pays if the Enduser pays within Subscription contract: o < 100.000 Subscribers per year --> no Fee o 100.000 - 250.000 Subscribers per Y --> 25.000 US$/Yr o 250.000 - 500.000 Subscribers per Y --> 50.000 US$/Y o etc.

this might be interesting for germans (we as only folk on the world have a fee for free televeision called GEZ):

> dann gibt es noch ein weiteres Lizenzmodell, dass aber nur g?ltig ist, wenn Geb?hren des Endusers an anderer Stelle bereits bezahlt werden, wie z.B. bei den GEZ-Geb?hren.(ist aber nur f?r ?ffentlich rechtliche interessant):-) (there a differenet licensing model aswell but only available if the Enduser pays there Fee?s some where else like in german GEZ)

for me the stream.seek functionality doesent work for .mp4 files did someone tested yet? Yes, seek is one of the things that doesn't work yet.

Will I be able to multiplex H.264 video and AAC audio into the current FLV container format?

A: Adobe encourages customers to use the new MPEG-4-based file format. The new file format is designed to work with the features of these codecs.

from: http://labs.adobe.com/wiki/index.php/Flash_Player:9:Update:H.264#Q:_Will_I_be_able_to_multiplex_H.264_video_and_AAC_audio_into_the_current_FLV_container_format.3F

## D.5. Someone already created a demo?

http://s1blue2.waltertak.com:15080/demos/

This demo is a simple AS3 Flash client playing a selection of FLV and H.264 content. The FLV content is to show the huge difference in quality.

Some H.264 content isn't played correct ; the playhead runs too fast resulting in fast-forwarding.

The large "720" and "1080" content requires upto 2 megabytes per second of bandwidth to be played smoothly.

Seeking through H.264 doesn't work yet (as of 2008/10/08) .

## D.6. Some more Info about Seek and possible solutions

http://h264.code-shop.com/trac/wiki/FlashPlayer

Seek isn't working yet with H.264 content&nbsp; (as of 2008/10/08) .

## D.7. Are audio files supported?

Yes, the following file types may be played:

- AAC

- M4A

- F4A

They are delivered in the same manner as an MP3 file, but with a different reader.

## D.8. How do I request an h264 file?

These request methods are supported:

- mp4:myfile

- mp4:myfile.f4v

- mp4:myfile.mp4

- mp4:myfile.mov

- mp4:myfile.3gp

- mp4:myfile.3g2

- myfile.f4v

- myfile.mp4

- myfile.mov

- myfile.3gp

- myfile.3g2

## D.9. Does red5 support h264 live streaming?

h.264 currently concerns only VOD. Paul: Right now, RTP/RTSP is not supported. When the MP4/h.264 features are complete, you will get RTP/RTSP for Free!

## D.10. Links

- http://today.java.net/pub/a/today/2006/08/22/experiments-in-streaming-java-me.html

- http://rtspproxy.berlios.de/

Prev | Home | Next
Appendix C. FLV | Red5 Open Source Flash Server | Appendix E. Red5 Changelog