01 基本资料

官网关于视频编解码的文档,

chromium/src/media: https://chromium.googlesource.com/chromium/src/media/
audio-video: https://www.chromium.org/audio-video
media playback: https://www.chromium.org/developers/design-documents/video
https://chromium.googlesource.com/chromium/src/+/refs/heads/master/media/README.md

中文博客
修改Chromium源码,实现HEVC/H.265 4K视频播放

Chromium源码–视频播放流程分析(WebMediaPlayerImpl解析)

使用 chrome://media-internals/ 分析播放内容

02 相关代码位置

# Chromium
media/ - Home to all things media!
media/audio - OS audio input/output abstractions
media/video/capture - OS camera input abstraction
media/video - software/hardware video decoder interfaces + implementations
third_party/ffmpeg - Chromium's copy of FFmpeg
third_party/libvpx - Chromium's copy of libvpx# Blink
# src\third_party\blink\renderer\core\html\media
third_party/blink/renderer/core/html/media/html_media_element.{cpp,h,idl} - media element base class
third_party/blink/renderer/core/html/media/html_audio_element.{cpp,h,idl} - audio element implementation
third_party/blink/renderer/core/html/media/html_video_element.{cpp,h,idl} - video element implementation# Particularly Interesting Bits
media/base/mime_util.cc - defines canPlayType() behaviour and file extension mapping
media/blink/buffered_data_source.{cc,h} - Chromium's main implementation of DataSource for the media pipeline
media/blink/buffered_resource_loader.{cc,h} - Implements the sliding window buffering strategy (see below)
third_party/blink/public/platform/web_media_player.h - Blink's media player interface for providing HTML5 audio/video functionality
media/blink/webmediaplayer_impl.{cc,h} - Chromium's main implementation of WebMediaPlayer

03 编解码器支持格式

# Container formats
MP4 (QuickTime/ MOV / MPEG4)
Ogg
WebM
WAV
HLS [Only on Android and only single-origin manifests]
Codec formats (Decode Only)# Audio
FLAC
MP3
Opus
PCM 8-bit unsigned integer
PCM 16-bit signed integer little endian
PCM 32-bit float little endian
PCM μ-law
Vorbis
AAC [Main, LC, HE profiles only, xHE-AAC on Android P+] [Google Chrome only]
AMR-NB [Google Chrome OS only]
AMR-WB [Google Chrome OS only]
GSM [Google Chrome OS Only]# Video
VP8
VP9
AV1 [Only Chrome OS, Linux, macOS, and Windows at present]
Theora [Except on Android variants]
H.264 [Google Chrome only]
H.265 [Google Chrome OS on Intel Gen 11-based Chromebooks for protected content playback only]
MPEG-4 [Google Chrome OS only]

04 启动 ffmpeg

设置标志位:
ffmpeg_branding=true
proprietary_codecs=true

# 比如:
gn gen out/Debug --ide=vs2019 --args="target_os=\"win\" target_cpu=\"x86\" is_component_build=true is_debug=true is_official_build=false google_api_key=false google_default_client_id=false google_default_client_secret=false proprietary_codecs=true media_use_ffmpeg=true ffmpeg_branding=\"Chrome\" enable_nacl=false enable_mse_mpeg2ts_stream_parser=true enable_hls_sample_aes=true enable_platform_hevc=true chrome_pgo_phase=0"

05 官网提供的流程图


chromium 33 视频编解码相关推荐

  1. AV1:为互联网提供开放、免费的视频编解码工具

    从学术研究到进入工业界,Zoe Liu一直在算法和音视频领域,目前在谷歌编解码团队为编解码器AV1做开发支持.Zoe畅谈了评定编解码器的标准,以及AV1的最新进度.本文是『下一代编码器』系列采访之一, ...

  2. 视频编解码学习之二:编解码框架

    http://www.cnblogs.com/xkfz007/archive/2012/07/29/2613824.html 第四章 视频编码基础 1. 压缩码流 语法:码流中各个元素的位置关系 01 ...

  3. WebRTC 中收集音视频编解码能力

    在 WebRTC 中,交互的两端在建立连接过程中,需要通过 ICE 协议,交换各自的音视频编解码能力,如编解码器和编解码器的一些参数配置,并协商出一组配置和参数,用于后续的音视频传输过程. 对于音频, ...

  4. 北京大学数字视频编解码技术国家工程实验室开源AVS2高清实时编码器

    本文转自公众号:PKUVCL.北京大学数字视频编解码技术国家工程实验室视频编码算法研究室 (PKU-VCL) 开源了 AVS2 高清实时编码器 xAVS2(V1.0).原文链接请点击[阅读原文]. 2 ...

  5. 基于FFMPEG 的跨平台视频编解码研究

    第33卷 第11期 2011年11月 武 汉 理 工 大 学 学 报 JOURNALOF WUHANUNIVERSITYOFTECHNOLOGY Vol.33 No.11 췍췍췍췍췍췍췍췍췍췍췍췍췍췍 ...

  6. H.266视频编解码标准(H.266的新技术介绍)

    H.266多功能视频编码编解码器标准,新的H.266 /VCC编解码器在保持清晰度不变的情况下,数据压缩效率获得极大提高,数据量减少了50%. 新标准的公告中指出,由于改进了压缩技术,H.266将减少 ...

  7. 数字音视频编解码技术标准工作组会员单位

    数字音视频编解码技术标准工作组会员单位(排名不分先后) 会员单位LOGO 1. 新加坡资信通信研究所△ 2. Envivio Inc.△ 3. LG电子(中国)研究开发中心有限公司 4. NDS△ 5 ...

  8. 53、RK3588测试视频编解码和 POE OAK Camera编码结合开发

    基本思想:一直想学rk3588的视频编解码,奈何没有设备,最近获得机会,利用空闲时间好好研究一番,正好手中的深度相机oak camera支持视频编码,逐想用软解编码和瑞芯微的mpp硬解码去走一波,本实 ...

  9. FFmpeg之视频封装格式、流媒体协议、视频编解码协议和传输流格式、时间戳和时间基、视频像素数据

    通用视频分析工具:Mediainfo.Elecard StreamEye(视频编码分析工具); 视频封装格式: ********************MP4****************** MP ...

最新文章

  1. PHP复杂度,php 算法复杂度 时间复杂度 空间复杂度
  2. 使用.net调用java的Web Services
  3. php链接Access数据库代码,PHP连接Access数据库代码
  4. SNMP功能开发简介 五 使用MIB Builder创建MIB文件图文介绍
  5. kotlin 类和对象_Kotlin程序| 类和对象的示例(带有学生数据)
  6. Ethercat解析(十三)之fsm_master状态机
  7. 判断浏览器设置相应的CSS
  8. leetcode刷题:循环队列
  9. php 农历日历,php下实现农历日历的代码_php实例
  10. CSDN账号,你需要不
  11. bcc语料库下载_CCL语料库与BCC语料库各自的特点是什么?
  12. imx6q 转换LVDS为VGA输出
  13. 河南科技大学Oracle作业,机械制图作业集第四章答案河南科技大学.ppt
  14. 2019.05 随笔
  15. CircularProgressIndicator
  16. 倍福---CTU和TON的使用
  17. 基于深度学习的手写数字识别Matlab实现
  18. 敦煌日历2023 | 千年流光,风雅不绝
  19. Word2vec词向量工具带你发现不一样的《天龙八部》
  20. 《机电一体化系统设计》

热门文章

  1. 交互设计1.3线框图
  2. 马斯克与贝索斯:世界上最有钱的两人展开太空大战
  3. matlab中outputpath,关于handles.output_matlab gui参数传递
  4. Android MVP的一点理解
  5. 通过钉钉机器人发送群消息通知
  6. Word2013写CSDN博客
  7. 3ds max材质库操作
  8. 测试开发工作者日记:2020.6.28
  9. GameStop的下半场:散户疯狂复仇,大空头彻底投降,但“世纪逼空大战”远未结束...
  10. Springboot + mybatis + druid 整合 (Mysql单数据源)