精华内容
下载资源
问答
  • CEF支持webrtc以及H264编解码的一些简单总结
    千次阅读
    2020-09-17 10:01:11

    最近因为项目需要用到cef支持webrtc支持,所以研究了一下cef的一些资料

    在window中,简述其编译测试如下:
    首先下载cef的库文件。下载地址如下:
    http://opensource.spotify.com/cefbuilds/index.html【记住要下载32位的版本,不要下载64位的】
    下载完成,先阅读其CMakeLists.txt文件,它说明了在各个平台该如何二次编译,如window的编译如下:

    先安装cmake程序,把安装路径添加到环境变量Path中,然后启动cmd,cd到CEF的解压文件目录,输入命令 cmake -G "Visual Studio 15" 生成vs2017工程CEF.sln,当然可以按照安装vs版本修改,不要用cmake的gui方式生成工程,因为可能会失败

     支持webrtc要添加命令行 --enable-media-stream,再cefclient项目的shared\browser\client_app_browser.cc文件中,函数void ClientAppBrowser::OnBeforeCommandLineProcessing(...)添加一行代码 command_line->AppendSwitch("enable-media-stream");,大概位置如下:

    #if defined(OS_MACOSX)
        // Disable the toolchain prompt on macOS.
        command_line->AppendSwitch("use-mock-keychain");
    #endif
    
    	command_line->AppendSwitch("enable-media-stream");
    
        DelegateSet::iterator it = delegates_.begin();
        for (; it != delegates_.end(); ++it)
          (*it)->OnBeforeCommandLineProcessing(this, command_line);
      }

    就可以支持webrtc了,官网下载的CEF源码不支持H264编码,默认是vp8,可以去下载cef源码增加h264支持编译,编译过程有点困难,我下载了一个别人编译好的版本,支持H264编解码,可以搭建mediasoup测试,如https://192.168.0.112:5566/?forceH264=true测试是否支持,下载相关链接:https://download.csdn.net/download/zhou_jinbin/12851365

    更多相关内容
  • cefsharp75 h264集成版本 支持wpf和winfom nuget 本地引用进项目即可 谷歌75版本内核,支持视频流
  • cefsharp75_h264.zip

    2019-09-24 16:03:24
    自行编译的支持H264编码的CefSharp,x86和x64均支持,可以通过 https://html5test.com 验证。
  • cef_binary_84_with_h264

    2021-01-05 14:08:48
    Cef 包含H264编码功能,支持webrtc。含windows32位和MacOS 64版本
  • cef chromium-75.0.3770.100-win64(支持h264)编译好的Release包。 资源全称:cef_binary_cef_binary_75.1.16+g16a67c4+chromium-75.0.3770.100_windows64_windows64 对应cef版本:75.1.16 对应chromium版本:75.0....
  • cefsharp由于开源协议原因,不支持h264也就是不支持视频播放,需要自己编译cef,很麻烦,现在把最新的cefsharp 86 版本的64位编译好的放上来
  • java_cef 完整demo(支持h264编码) 官方开放的是不支持h264视频编码的版本,需要自行编译后方可支持。 此次提供我自己编译好的一个版本工大家参考。 demo非常简陋但逻辑各种都完善,api文档网上搜一搜就有就不特意...
  • cefsharp88.2.9_h264_x86_x64_完美支持mp4视频,拷两个文件就搞定,然后重新生成一下项目
  • 3.比较新的VS(编译不同版本要求不一样,具体看Cef官网帮助,我用的是VS2017专业版),需要安装“C++桌面组件” 和 “MFC和ATL支持”,最好安装在默认路径,VS2017还需要特殊配置 4.Win10 SDK 10.0.17763.0,10.0....

    **

    Step0. 环境配置

    **

    1.可用于稳定的下载网络(需要翻墙,需要翻墙,需要翻墙)重要的事情说3次
    2.Win7或者更高版本的系统,必须64位,至少8GB的RAM,我采用win10 64位,16GRAM
    3.比较新的VS(编译不同版本要求不一样,具体看Cef官网帮助,我用的是VS2017专业版),需要安装“C++桌面组件” 和 “MFC和ATL支持”,最好安装在默认路径,VS2017还需要特殊配置
    4.Win10 SDK 10.0.17763.0,10.0.19041.0(最新版本)
    5.至少100G剩余空间(官方要求),NTFS文件系统,部分文件超过4G,部分资料显示最少60G,编译结束后发现远超60G

    准备工作
    1.设置系统区域为英语(美国)。(控制面板-区域-管理-更改系统区域设置-英语(美国)),设置完需要重启
    2.创建工作目录,路径不能包含空格及特殊字符。例如d:\cef

    3.下载编译工具包,解压至工作目录。例如d:\cef\depot_tools
    https://storage.googleapis.com/chrome-infra/depot_tools.zip
    并添加到系统环境变量Path末尾。例:d:\cef\depot_tools

    4.下载编译脚本至工作目录。例如d:\cef
    https://bitbucket.org/chromiumembedded/cef/raw/master/tools/automate/automate-git.py

    5.在工作目录下创建源码目录。例如d:\cef\source
    6.添加系统环境变量
    set CEF_USE_GN=1
    set GN_DEFINES=is_official_build=true
    set GYP_DEFINES=buildtype=Official
    set GYP_MSVS_VERSION=2017
    set CEF_ARCHIVE_FORMAT=tar.bz2

    完整目录结构:
    d:/cef/
    automate-git.py
    depot_tools/
    source/

    **

    Step1. 下载源码

    **
    管理员身份运行Cmd

    --------------gclient更新以及python安装--------------
    切换到工作目录d:\cef 运行gclient
    d:
    cd d:\cef

    gclient
    等待安装python和git。

    --------------下载CEF源码--------------
    https://bitbucket.org/chromiumembedded/cef/branches/ (分支编号可以去官网进行查找—我这里下载的分支为4324对应的CEFSharp版本为88.2.9版本

    python automate-git.py --download-dir=d:\cef\source --branch=4324 --no-build --no-distrib --force-clean

    等待下载完成。等待下载完成这个过程会持续大约6个小时左右

    如果下载失败则继续运行上面的命令重新下载直到下载完成

    **

    Step2. 文件配置

    **

    配置CEF支持H264

    打开 source\chromium\src\third_party\ffmpeg\chromium\scripts\build_ffmpeg.py

    configure_flags[‘Chrome’].extend([
    ‘–enable-decoder=aac,h264,mp3’,
    ‘–enable-demuxer=aac,mp3,mov’,
    ‘–enable-parser=aac,h264,mpegaudio’,
    ])

    改为

    configure_flags[‘Chrome’].extend([
    ‘–enable-decoder=aac,h264,mp3,mpeg4,amrnb,amrwb,flv’,
    ‘–enable-demuxer=aac,mp3,mov,avi,amr,flv’,
    ‘–enable-parser=aac,h264,mpegaudio,mpeg4video,h263’,
    ])

    打开 source\chromium\src\third_party\ffmpeg\chromium\config\Chrome\win\ia32\config.h
    打开 source\chromium\src\third_party\ffmpeg\chromium\config\Chrome\win\x64\config.h,

    在原有配置宏FFMPEG_CONFIGURATION里增加以下:

    ––enable-decoder=‘rv10,rv20,rv30,rv40,cook,h263,h263i,mpeg4,msmpeg4v1,msmpeg4v2,msmpeg4v3,amrnb,amrwb,ac3,flv’ ––enable-demuxer=‘rm,mpegvideo,avi,avisynth,h263,aac,amr,ac3,flv,mpegts,mpegtsraw’ ––enable-parser=‘mpegvideo,rv30,rv40,h263,mpeg4video,ac3’

    并去掉FFMPEG_CONFIGURATION这里的注释

    **

    Step3. 命令生成

    **

    上面是通过查资料修改的,修改后编译能通过,没有报错,但是没有MP3、MP4支持。下面指令设置后再次编译便有了MP3、MP4支持,所以上面的这些有没有用不敢确定。
    下面的指令,很重要!!!

    --------------------------------------------------Cmd命令--------------------------------------------------
    set CEF_USE_GN=1
    set GN_DEFINES=is_official_build=true proprietary_codecs=true ffmpeg_branding=Chrome
    set GYP_DEFINES=buildtype=Official
    *** set GYP_MSVS_VERSION=2017
    set CEF_ARCHIVE_FORMAT=tar.bz2
    set GYP_GENERATORS=ninja,msvs-ninja
    *** set GN_ARGUMENTS=–ide=vs2017 --sln=cef --filters=//cef/*
    *** set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional
    *** set SDK_ROOT=C:\Program Files (x86)\Windows Kits\10
    *** set WINDOWSSDKDIR=C:\Program Files (x86)\Windows Kits\10
    *** set VS_CRT_ROOT=C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\crt\src\vcruntime
    *** set INCLUDE=C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt;C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\include;%INCLUDE%
    --------------------------------------------------x86--------------------------------------------------
    *** set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\lib\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\atlmfc\lib\x86;%LIB%
    *** set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x86;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012\x86\Microsoft.VC141.CRT;%PATH%
    --------------------------------------------------x64--------------------------------------------------
    *** set LIB=C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\atlmfc\lib\x64;%LIB%
    *** set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\HostX64\x64;C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Redist\MSVC\14.16.27012\x64\Microsoft.VC141.CRT;%PATH%

    *** 标记以上路径根据自己安装的WindowsSDK版本以及VS版本自行修改 使用统一版本进行编译

    --------------------------------------------------编译命令--------------------------------------------------

    --------------------------------------------------build x64--------------------------------------------------
    python automate-git.py --download-dir=d:\cef\source --branch=4324 --no-update --no-debug-build --build-log-file --verbose-build --force-distrib --force-build --x64-build
    --------------------------------------------------build x86--------------------------------------------------
    python automate-git.py --download-dir=d:\cef\source --branch=4324 --no-update --no-debug-build --build-log-file --verbose-build --force-distrib --force-build

    编译过程大约需要持续6个小时左右

    编译好的程序输出目录为source\chromium\src\out\Release_GN_x86 和 source\chromium\src\cef\binary_distrib 编译完成后自行查看

    下载地址:CefSharp_88.2.9_x86_x64_H.264

    展开全文
  • 3、支持H264编码,可以看网上视频 (下载的libcef.dll) 4、从config.ini 配置文件中加载网址 5、修改了右键菜单,有前进、后退、刷新系统、退出系统菜单 6、增加热键,F5刷新窗口、F12退出系统 7、屏蔽打开新窗口,...
  • 本文主要记录CEF源码编译,为了支持视频播放 一、准备工作 1、建议编译机器尽可能选择高性能的,以及足够的硬盘空间(100G以上); 2、安装 Microsoft Visual Studio 2017/2019,最好是默认路径,非默认路径需要自行...

    本文主要记录CEF源码编译,为了支持视频播放

    一、准备工作

    1、建议编译机器尽可能选择高性能的,以及足够的硬盘空间(100G以上);
    2、安装 Microsoft Visual Studio 2017/2019,最好是默认路径,非默认路径需要自行修改编译配置;
    3、稳定的VN,用来下载 chromium 源码;
    4、如果你用的中文系统,需要更改系统区域设置为英文;
    5、至少8GB的RAM(建议至少32GB)和90GB的可用磁盘空间(用于调试版本);
    6、尽可能高性能机器,我的机器编译CPU都是99%。
    在这里插入图片描述

    二、目录结构

    建议如下目录结构

    C:/code/
       automate/
            automate-git.py    <-- CEF build script
       chromium_git/
            cef/               <-- CEF source checkout
            chromium/
                src/           <-- Chromium source checkout
            update.[bat|sh]    <-- Bootstrap script for automate-git.py
      depot_tools/             <-- Chromium build tools
    

    使用此文件结构,您可以并行开发多个CEF/Chromium。例如,使用”chromium_git1”作为目录名称而不是”chromium_git”。

    三、编译步骤指南

    所有命令均使用系统”cmd.exe”,并且以管理员权限运行。

    1.创建工作目录,参考官方wiki:
    c:\code\automate
    c:\code\chromium_git
    
    2.下载depot_tools.zip并解压缩到 “c:\code\depot_tools”

    下载地址:https://storage.googleapis.com/chrome-infra/depot_tools.zip
    需要注意的是,depot_tools 压缩包含有的 .git 版本管理信息,最好直接解压到指定目录。
    解压完成后,将 depot_tools 所在目录添加到系统的环境变量 %PATH% 中。

    3.运行” update_depot_tools.bat” ,自动安装 Python 与 Git.。

    运行脚本自行设置代理,访问google,你懂得。

    // 配置 git 代理
    git config --global http.proxy http://127.0.0.1:1080
    git config --global https.proxy http://127.0.0.1:1080
    
    // 设置本地代理
    set http_proxy=http://127.0.0.1:1080
    set https_proxy=http://127.0.0.1:1080
    

    执行更新命令

    cd c:\code\depot_tools
    update_depot_tools.bat
    
    4.创建”c:\code\chromium_git\update.bat”脚本,内容如下
    set GN_DEFINES=is_component_build=true
    # Use vs2017 or vs2019 as appropriate.
    set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
    python ..\automate\automate-git.py --download-dir=c:\code\chromium_git --depot-tools-dir=c:\code\depot_tools --no-distrib --no-build
    
    

    运行“update.bat”脚本,然后等待CEF和Chromium源代码下载。CEF源代码将下载到”c:\code\chromium_git\cef”,而Chromium源代码将下载到”c:\code\chromium_git\chromium\src”。下载完成后,CEF源代码将复制到”c:\code\chromium_git\chromium\src\cef”

    cd c:\code\chromium_git
    update.bat
    
    automate-git.py 参数介绍
    参数可以手动执行 python automate-git.py --help 来查看
    
    --branch 表示你要下载的版本代码,CEF 每个版本都有固定的分支,我编译 2021年1月份目前最新版本 4323
    --no-build 表示只下载代码而不编译,这里只为下载代码
    --no-distrib 不执行打包项目,这里只为下载代码
    --force-clean 如果你曾经执行过这个脚本,可能会出错,则加上这个参数,它执行清理残留文件
    --no-update :不更新cef和chromium源码
    --no-depot-tools-update : 不更新depot-tools源码
    --verbose-build : 开启编译日志,该参数比较重要,编译出错时方便定位问题,相关编译错误见下节
    --force-build : 强制编译。在编译失败时,重新运行脚本能重新编译,不加该参数,则会提示out目录已存在
    --no-debug-build : 不进行debug版本的编译,默认debug和release一起编译
    --force-distrib :强制发布二进制包,如果已经发布过,再次运行脚本会重新生成二进制发布包
    

    如果VPN不太稳定,可能会经常中断,造成脚本运行错误,重新运行脚本即可,源码主要有三部分,depot_tools源码cef源码和chromium源码,如果发现相应部分的源码已经同步完成,可以分别使用–no-depot-tools-update, --no-cef-update, --no-chromium-update 来不进行相应部分的代码更新。
    自动构建脚本在下载源码时,并没有进度提示,比如在下载chromium/src目录时时间会非常长,会一直提示still working on src…,请耐心等待。

    5.使用以下内容创建” c:\code\chromium_git\chromium\src\cef\create.bat”脚本。
    set GN_DEFINES=is_component_build=true
    # Use vs2017 or vs2019 as appropriate.
    set GN_ARGUMENTS=--ide=vs2019 --sln=cef --filters=//cef/*
    call cef_create_projects.bat
    

    运行“create.bat”脚本以生成Ninja和Visual Studio项目文件。

    cd c:\code\chromium_git\chromium\src\cef
    create.bat
    

    这将生成一个” c:\code\chromium_git\chromium\src\out\Debug_GN_x86\cef.sln”文件,可以将其加载到Visual Studio中以调试和编译单个文件。在此路径中,将” x86”替换为” x64”以使用64位版本而不是32位版本。始终使用Ninja来构建完整的项目。如果更改项目配置或在GN配置中添加/删除文件(BUILD.gn文件),请重复此步骤。

    6.使用Ninja创建CEF/Chromium的调试版本。在” "c:\code\chromium_git\chromium\src\cef”处编辑CEF源代码,并多次重复此步骤以在开发时执行增量构建。
    cd c:\code\chromium_git\chromium\src
    ninja -C out\Debug_GN_x86 cef
    

    用” Release”替换” Debug”以生成发行版本。将”x86”替换为” x64”以生成64位版本。

    编译优化项:
    GN_DEFINES 参数介绍:
    is_official_build 建议true 决定了是否是编译正式版本,指定该参数为 true 基本上都是为了产品发布使用,同时也会在创建解决方案的时候生成带有 sandbox 的解决方案(如 Release_GN_x86_sandbox),而不指定这个参数是没有的。
    use_jumbo_build 官方资料默认指定,表示是否启用试验性的 jumbo 编译,编译过程会加快很多(至少快 1 小时),但是占用 CPU 和内存(尤其是内存)会剧增。
    is_component_build 官方资料默认指定,但我们没有开启,这个参数表示是否启用组件化编译,设置为 true 以后,base、ffmpeg 等等都会被编译为动态库,使用时也是动态链接,编译出来的 cef_sandbox.lib 只有几兆大小,并且你需要复制很多 dll 文件到项目目录下才能运行。

    若重新编译,则编译前执行以下命令

    set DEPOT_TOOLS_WIN_TOOLCHAIN=0
    
    7.运行生成的cefclient示例应用程序。
    cd  c:\code\chromium_git\chromium\src 
    out\Debug_GN_x86\cefclient.exe
    

    最终打包文件如下
    在这里插入图片描述

    运行Demo,http://html5test.com/网站检测结果如下
    在这里插入图片描述

    8.使用

    CEF编译时链接的运行库为MT(多线程)。如果你要编译CEF或PPAPI示例,也要在“配置属性–>C/C++–>代码生成–>运行库”中设置为MT。
    CEF编译时定义了UNICODE和_UNICODE宏。编译示例时最好也使用 Unicode 字符集。

    源码已打包,后期将上传至百度网盘
    导出包已上传 https://download.csdn.net/download/Crystal_lpx/14965547

    展开全文
  • 使用的是cefsharp57版本。编译好的,可以支持video 标签。
  • CefSharp 支持mp3、mp4视频播放 版本:49.0.1 平台:x86/x64(都支持) 使用:先在Nuget中安装对应的版本,然后解压资源把Release下的文件复制替换到:项目根目录\packages\cef.redist.x86.3.2623.1401\CEF\x86,...
  • cef_binary_95.7.18+g0d6005e+chromium-95.0.4638.69_win64支持h264
  • CEF3 源码编译支持H264

    2021-07-24 10:14:32
  • cefsharp 75完美支付h264

    2021-01-08 17:43:42
    cefsharp75完美支付h264,亲测可用,包源设置成本地
  • 自己编译的CefSharp 63.0.0 的nupkg包,用到的cef x86是别人编译的, x64用的是官方的。 x86已经支持h.264解码 编译方法参考:https://blog.csdn.net/hkwlg1314/article/details/53229408
  • 自行编译的支持H264编码的CefSharp,x86和x64均支持,可以通过 https://html5test.com 验证。 使用方法 1.Nuget安装CefSharp 2.编译后直接替换libcef.dll文件
  • CefSharp 支持mp3、mp4视频播放 版本:84.4.10 平台:x86/x64(都支持) 使用:先在Nuget中安装对应的版本,然后解压资源把里面的文件夹复制替换到:项目根目录\packages,重新编译项目即可。
  • cef_binary_95.7.18+g0d6005e+chromium-95.0.4638.69_win32支持H264
  • cef chromium-81.0.4044.113_x86(支持h264)编译好的Release包。 资源全称:cef_binary_81.2.24+gc0b313d+chromium-81.0.4044.113_windows32 对应cef版本:81.2.24 对应chromium版本:81.0.4044.113 win32位系统支持 ...
  • 基于 CEF 3.3239 自编译支持 H.264 支持播放 MP4 支持 C# Chromiumfx 调用 这玩意编译真累.....
  • cef_97.0.9.0_chromium-97.0.4692.45_win64_h264 支持H264
  • Winfrom上替代自带浏览器,最新谷歌内核:96.0.4664.55,本人测试支持.NET Framework和.NET 5.0版本Winform,理论上支持WPF。使用时将对应平台Release文件夹复制到程序目录即可,96.0.14版本CefSharp适用。
  • cefsharp88.2.9_h264_x86_x64_完美支持mp4视频 替换88.2.9生成的 libcef.dll文件
  • 支持h264
  • CefSharp 支持mp3、mp4视频播放 版本:88.2.90 平台:x86/x64(都支持) 使用:先在Nuget中安装对应的版本,然后解压资源把里面的文件夹复制替换到:项目根目录\packages,重新编译项目即可。
  • Windows 64位版本的CEF3工程代码(需要自己CMake创建sln,自行编译产生cefsimple/cefclient)。Chromium版本:72.0.3626.96。编译时加入ffmpeg支持,可以播放mp3, mp4, 支持h.264。可以自己访问html5test.com验证。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,393
精华内容 2,157
关键字:

cef h264

友情链接: vhdl.zip