Generally, there is a unit separator nal at the beginning, and the data packet between the two unit delimiters is an image. 00 00 01 09, which is the unit separator. However, the Protocol does not say that the nal stream must be so organized, and there may be other forms of organization. My h264 files are organized in this way.
The byte stream of h264 does not have the frame concept. Please carefully study
Provide the Symbian version of h264, MPEG-4 player :( 1) mobile phones and computers synchronously watch the remote camera image in real time (2) mobile instant capture function, get real-time pictures anytime, anywhere (3) video recording at any time, and playback function (4) download and play video clips from remote servers (AVI and 3GP formats supported) (5) support most of the currently available Symbian smartphones 3 and 5 (6) applicable to the
Live555 in arm linux cross-compilation, and download the Arm Board to play H264 files. My system is ubuntu 11.10 1. download the live555 source code and H264 test file 2. modify config according to your own cross compiler. * (config. armeb-uclibc), My compiler is buildroot-gcc342 ----- mipsel-linux-uclibc, using config. armeb-uclibc 3. generate Makefile. /genMakefiles armeb-ublibc 4. after compilation, make
I have developed a client for decoding h264 on the Android platform. Now let's summarize it:
1. Interface
There is nothing to say about it. It is very simple on any platform...
2. decoder porting
I found an h264 decoding library cropped from FFMPEG and transplanted it to the Android platform. Here I want to learn about JNI.
3. Java Multithreading
I understand several methods of Java multithreadi
macro blocks in the same image frame from the space. In h264, there are 4x4 brightness prediction modes, 16x16 brightness prediction modes, 8x8 color block prediction modes, and an I _pcm encoding mode. It is not easy to choose the optimal encoding model.
The Inter-Frame Prediction encoding efficiency is higher than intra-frame encoding. In terms of time, it removes the redundancy between image frames and frames, which can be classified into one
Analysis of h264 code stream Packaging
Sodb data Bit String --> the original encoding data
Rbsp original byte sequence load --> after sodb, add the ending bit (rbsp trailing bits is a bit "1") to several BITs "0" to facilitate byte alignment.
Ebsp extended byte sequence load --> added the imitation validation byte (0x03) based on rbsp. The reason is: When NALU is added to limit B, you need to add the start code startcodeprefix before each set of NALU
FFmpeg install with libx264 (h264)
The information for this is very sparse, so here is a summary of what I have found.
Install libx264
Get the libx264 package from here:
Http://www.videolan.org/developers/x264.html
Extracts the bz2 File
tar -xjvf /path/to/x264-snapshot-20080805-2245.tar.bz2
And now the useual
cd /path/to/x264-dir./configure --enable-sharedmakemake installldconfig
Get a nice error message:
[root@dev01 x264-snapshot-20080805-2245]# ./co
baselineprofile should be 66. For a decoder that complies with a specified level of baseline profile, it can decode any bitstream that meets the following requirements: 1. profile_idc is equal to 66 or constraint_set0_flag is equal to 1; 2. level_idc represents a level smaller than or equal to the specified level.
Note: constraint_set0_flag. The value is equal to 1, indicating that all constraints specified in Appendix A.2.1 (above) of the standard must be followed.
Bytes ---------------------
This article is organized from the network, non-original, like related articles please pay attention to our public number: Blackerteamh.265H.265 is the new video coding standard developed by ITU-TVCEG after H. The h.265 standard revolves around the existing video coding standard, which retains some of the original technology while improving some of the relevant technologies. The new technology uses advanced techniques to improve the relationship between code flow, encoding quality, latency and a
Nickname: Marine fish 1001 Date: October 25, 2014-October 31, 2014
1. Task completed this week: noise suppression for audio recording. pcm+h264 package MP4, last week for audio g711a, and the parameter is not ideal for synthesis.
2. Task not completed this week: Timestamp issue
3. Next week plan: Find timestamps related literature
4. Key technical Point Description:
Platform: Linux HI3515
Cross compiler: Arm-hisiv100nptl-linux
The noise suppression o
Code stream encapsulation using open Source Library FFmpeg
The H264 stream is written to H264 buffer via the function h264buff_write (), and mux_thread the received stream into the MP4 file.
Here I use a separate thread encapsulation stream is to solve the recording process of the cycle of the problem, or can not be separate pull thread.
Type declaration
/*---------------for muxing--------------*/
#ifndef
Due to my recent reading of h264 files, I encountered the problem of how to read the full frame data, through the use of Elecard Stream Analyzer tools, as well as the combination of "new generation of video compression coding standard--H264/AVC" (second edition) book, and found in the online summary as follows:
First NAL syntax, title syntax, and Nal_unit_type semantics must know:
The above two graphs are
Recent projects need to record video taken by the camera, using H264 encoding. The test found that H264 encoded 2k (1980x1080) video was smooth, but encoded 4k (3840x4120) video showed noticeable lag phenomenon. Therefore consider using H264 Nvenc hardware encoding.The original code
Avcodec *codec = Avcodec_find_encoder (av_codec_id_h264);
Switch
Avcod
The Base_clock of PTS here are calculated in terms of 1000 (milliseconds), and if reused in TS, the Base_clock is 90k, so it should be multiplied by 90. About the H264 in the SPS recorded in the frame rate is twice times the actual frame rate, including slice inside the PIC_ORDER_CNT_LSB is also twice times the increment, I guess the code according to the Sub-field (Top field, bottom field) coding.
H264 es
using MP4V2 to synthesize h264+aac mp4 files
Recording program to add new features: Record CMMB TV shows, our cards are sent out of the RTP stream (H264 video and AAC audio), the recording program to do the work is:
(1) Receiving and parsing RTP packets, separating out H264 and AAC data streams;
(2)
==================== Problem Description ====================Use Videoview to do the display. Play all the way a little problem, no card, very real-time, but, more can not play, also reported wrong. Automatically eject a dialog box that cannot be played.The same is true with Surfaceview.I hear it's because the Android bottom only supports decoding.Do you have to transplant ffmpeg? But this is soft decoding ah, the efficiency is too low, and seemingly quite complex.Who has a better way to do it.
.
Bytes ------------------------------------------------------------------------------------------------
H.264 video streams are transmitted in NAL units... However, in a nal unit, I-slice (p-slice or B-slice) may be stored, and colleagues may also store other information about the image.Does it mean that I frame, P frame, and B frame extract the VCL information in the received nal unit first, and then classify I, P, and bframe according to the content?However, we can only identify the data type
is equal to 1, a new num_ref_idx_10_active_minus1 */Int B _num_ref_idx_override;Int I _num_ref_idx_l0_active;Int I _num_ref_idx_l1_active;/* Reference the semantics of the rearranged image *//* Indicates whether to perform the re-sorting operation. When the syntax is equal to 1, it indicates that a series of syntaxes are followed for reference to the re-sorting of the frame queue */Int B _ref_pic_list_reordering_l0;Int B _ref_pic_list_reordering_l1;Struct {Int IDC;Int ARG;} Ref_pic_list_order [
Http://blog.chinaunix.net/space.php? Uid = 20751538 Do = Blog id = 165746
1. H.264 when the start code transmits h264 data over the network, a UDP packet is a nalu, And the decoder can conveniently detect the nal demarcation and decoding. However, if the encoding data is stored as a file, the original decoder cannot determine the start position and end position of each nal from the data stream. Therefore, H.264 uses the start code to solve this prob
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.