The content in this article is original. For more information, see the source.
Decoding h264 data using FFmpeg is actually much easier than video encoding using x264, because FFMPEG provides a decoding_encoding.c file, this file contains simple examples of using FFMPEG for video and audio encoding/decoding. However, some people may not find this example. I will describe the transformed example here, add some explanations.
Note that, when decoding FFM
I am responsible for custom development of the SIP/IMS video client and support access to the SIP Soft Interface.Switch, IMS core network, supportedVoice, video, and instant messaging functions. The video formats support h263, h264, and MPEG4 soft encoding solutions. The hardware coding/decoding interface is provided for interconnection and servers. If you are interested, contact me.
Csdn lidp http://blog.csdn.net/perfectpdl
Some video terminals o
The following is a summary of some problems when using h264 + AAC for video playback on iPad, iPhone, itouch, and other terminals.
1: audio and video synchronization problems
The reason is mainly because of the TS file timestamp problem. Sometimes it will also cause problems after file encapsulation type conversion,
For example, FLV-ts will cause audio and video to be not synchronized. The base time used by FLV (reference time): one second =
protocol, it may cause delayed playback of the receiving side player or even not play properly. Therefore, for NALU units larger than the MTU, the unpacking process must be performed. RFC3984 gives the different RTP packaging schemes in 3: (1) Single Nalu Packet: Only one nalu is encapsulated in one RTP package, and this package is used for Nalu less than 1400 bytes in this article.(2) Aggregation Packet: Encapsulating multiple Nalu in one RTP package, this packaging scheme can be used for smal
frame is displayed.Dts:decode time Stamp. DTS primarily identifies when a binary stream that is read into memory is decoded when it starts to feed into the decoder. The order of DTS and the order of PTS should be the same without the existence of B-frames. VCL, NAL, Nalu: In the H.264/AVC video coding standard, the entire system framework is divided into two levels: the video coding level (VCL) and the network abstraction level (NAL). The former is responsible for effectively representing the c
1, nal full name Network abstract layer, that is, the net abstraction level.In the H.264/AVC video coding standard, the whole system framework is divided into two levels: Video coding level (VCL) and network abstraction level (NAL). The former is responsible for effectively representing the content of the video data, while the latter is responsible for formatting the data and providing the header information to ensure that the data suitable for the transmission of various channels and storage me
System environment:Linux inbank-gz 2.6.24-16-generic #1 SMP Thu Apr 13:23:42 UTC i686 gnu/linuxUbuntu 8.04Genuine Intel (R) CPU 1250 @ 1.73GHz * 21G MemoryTarget: Can play the H264 format HD video with MPlayer
Download related softwareMplayer1.1 version (includes FFmpeg)All kinds of decoding package codesx264Yasm + FAAC + Faad
You can download all the packages here http://down.51cto.com/data/1861780
: Video coding thread, audio coding thread, main thread (send thread) Video Coding thread
According to the frame rate to calculate the interval time, and then the video metadata rtmp packet to save for multiple send, from the video source to get frames, to determine whether it is a key frame, if it is the first send metadata, after the encoding package to send data, the final comparison of time and time to decide whether to wait
const int interval = 1000/fps; int bytes; char *buf, *frame;
Rtmppa
The H264 video stream and AAC audio stream have been synthesized by hand recently, but there is no open source FFmpeg API to handle audio and video streaming. The method is to imitate ffmpeg in the libavformat/flvenc.c file write code to complete the audio and video of the FLV format encapsulation. In this package process, the FLV file format needs to be very clear. There is a lot of information on the FLV file format on the Web, but most of the infor
Turn from: http://blog.csdn.net/zhuweigangzwg/article/details/44152239
Here is the first description of the structure of the H264:
01/00 01->nal (1bytes)->slice-> macro block-> motion estimation vector.
If a prefix appears in the body of H264, it is changed from 00 00 00 01/00 00 01 to 00 03 00 00 01/00 03 00 01.
We see commonly used naltype like sps= 0x07 pps= 0x08 sei = 0x06 i/p/b= that is to say only j
This article was reproduced from: Http://blog.csdn.net/gubenpeiyuan/article/details/19548019?utm_source=tuicool
This article outlines:
This paper introduces the famous open source audio and video codec library ffmpeg how to decode H264 stream, and elaborates its h264 stream input process, decoding principle and decoding process in detail. At the same time, most of the application environment, the original
Protocol, it can support flash playback, smooth output of the video stream of H.Design and implementationKnowing the interaction process, we can design and implement our own RTMP server. Because the RTMP protocol is based on the TCP protocol, RTMP server is essentially a TCP server, and its logical structure is basically similar to the normal TCP server.In fact, LIBRTMP has provided the basic RTMP message read and send, can be developed on the basis of librtmp, to achieve a variety of RTMP prot
should be met . A bit stream that corresponds to Baselineprofile, its profile_idc should be equal to 66. For a decoder that adheres to a specified level of Baseline profile, it can decode any bit stream that meets the following requirements:1. PROFILE_IDC equals 66 or Constraint_set0_flag equals 1; 2. The level represented by LEVEL_IDC is less than or equal to this specified level. Note:constraint_set0_flag with a value equal to 1 means that all constraints specified in appendix a.2.1 (i.e. ab
segmented, and then the segmented NAL unit is packaged in step 1 ways. The partitioning scheme is as follows:Where nsize is the NAL element size before splitting, n is the size of the NAL unit after splitting. The number of cells after the K split. The size of the last cell after the split may be less than N, when the RTP payload must be filled with the same size as the previous tile, at which point the padding identity bit value in the RTP header is 1.3, the SEI, the parameter set and other sm
1, Codecvisa:Http://www.codecian.com/downloads.html2.Three ways comes to mind (if is looking for something free, else Google ' H264 analysis '):A) Download H. Parser From:http://www.w6rz.net/h264_parse.zip (from this thread @ doom9 Http://forum.doom9.org/arc hive/index.php/t-133070.html)b) Download the H. Reference SW from:http://iphome.hhi.de/suehring/tml/c) h264bitstream:http://h264bitstream.sourceforge.net/or http://sourceforge.net/projects/h264bit
You have uploaded the file to csdn at http://download.csdn.net/detail/avsuper/7421647...
This program can record the camera video and microphone audio as FLV files.
Video Compression uses H.264 encoding, and audio compression uses AAC encoding. rtmp live video can be synchronized (the server end must be FMS/wowza/red5 ). Information such as bit rate, resolution, frame rate, and key frame interval can be selected.
No. 1 classroom network (http://www.1jiaoshi.com) produced.
At the same time, a
Appendix:
264
Learning Guide-- Learning is divided into three stages: 1. The first stage: Learning H. 264 first, you must put the most basic and necessary information in your hand (// 172.22.113.200/share/h264/H. 264 related papers/other/classic articles ). These materials include: standard documents + test models + classic articles. First look at the H.264_MPEG-4 Part 10 White Paper, after reading the Video coding using the H. 264 MPEG-4 AVC compress
Analysis00 00 00 01 67 42 00 1E 99 A0 B1 31 00 00 01
H264 data streams are divided into two types: nal unit stream (RTP) and bits stream,The two can be converted to each other. We analyzed the bit stream, according to Annex B00 00 00 01 67 42 00 1E 99 A0 B1 31 is an NAL between two 00 00 010110 0111 0100 0010 0000 0000 0001 1110 1001 1001 1010 0000 1011 0001 0011 0001Forbidden_zero_bit (1) = 0Nal_ref_idc (2) = 11Nal_unit_type (5) = 0 0111:Seq_paramete
Go to: http://my.csdn.net/easymob/code/detail/15723
Project needs to be implemented as a PC decoder for h264 decoding. I 've been depressed and finally got it done today. Record: 1, looked for two websites: http://ffdshow-tryout.sourceforge.net/wiki/devel:building this, is k-lite http://ffmpeg.zeranoe.com/builds/ this, is Windows Platform compiled FFMPEG. This is the key to carefully reading the second web page. Download the latest library and code. T
above 6-point Interactive Protocol, it can support flash playback, smooth output of the video stream of H.Design and implementationKnowing the interaction process, we can design and implement our own RTMP server. Because the RTMP protocol is based on the TCP protocol, RTMP server is essentially a TCP server, and its logical structure is basically similar to the normal TCP server.In fact, LIBRTMP has provided the basic RTMP message read and send, can be developed on the basis of librtmp, to achi
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.