
ffmpeg-hls/ts
山西茄子
多媒体工程师,从事ffmpeg,gstreamer,视频编码,deepstream等开发,做做笔记。
展开
-
ffmpeg--mpegts.c解析PES
解析PES参考13818-1。handle_packetsstatic int handle_packets(MpegTSContext *ts, int64_t nb_packets){ AVFormatContext *s = ts->stream; uint8_t packet[TS_PACKET_SIZE + AV_INPUT_BUFFER_PADDING_SIZE]; ...原创 2018-03-20 14:50:08 · 1979 阅读 · 0 评论 -
ffmpeg --hlsenc.c
依次介绍hlsenc.c的hls_write_header,hls_start,hls_write_packet,hls_window,hls_append_segment,hls_write_trailer。 hls_write_header 此函数一开始就被调用,只会被调1次。static int hls_write_header(AVFo...原创 2018-03-15 15:26:34 · 876 阅读 · 1 评论 -
ffmpeg--mpegts.c
数字电视当中接触最多的还是ts流,以前使用ffplay播放过录制的ts流,但却不知道在ffmpeg当中ts流是如何被解析出来的,今天花点时间对ffmpeg当中ts流的解析过程做了一个简单分析。mpegts.c从这个文件最下面开始:AVInputFormat mpegts_demuxer = { "mpegts", NULL_IF_CONFIG_SMALL("MPEG-2 transpo...转载 2016-09-29 17:01:46 · 3732 阅读 · 2 评论 -
ffmpeg-- mpegtsenc.c
mpegtsenc. 更改记录: 3.2.10到3.3.11 添加了切HEVC;mpegts_flags添加initial_discontinuity属性。 为什么时间戳开始都是pts:133200,dts:126000?avcodec_encode_video2过后,pts,dts的值为序号,没有B帧时:如: (0 0),(1 1),(2 ...转载 2016-09-29 16:08:10 · 1387 阅读 · 0 评论 -
ffmpeg--hls.c
本文主要介绍hls.c的几个函数current_segment,read_data,parse_playlist ,select_cur_seq_no。 current_segmentstatic struct segment *current_segment(struct playlist *pls){ return pls->segments[pls->cur_seq_no ...原创 2017-02-28 16:23:42 · 3781 阅读 · 2 评论 -
ffmpeg之HLS转码
以mp4(h264+aac)转ts(h264+aac)为例。转码命令为:ffmpeg - i a.mp4 --f hls -hls_time 2 -hls_list_size 0 a.m3u8 -y流程:1 解mp42 解码h264,aac //libavcodec/h264.c aacdec_template.c3 编码h264,aac //libavcodec/libx...原创 2016-06-07 13:22:14 · 5099 阅读 · 1 评论