Как создать собственный WebRTC?

Я пытаюсь создать родной WebRTC на Pi2, используя следующие команды

sudo apt-get install git
sudo git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git /opt/depot_tools

echo "export PATH=\$PATH:/opt/depot_tools" | sudo tee /etc/profile.d/depot_tools.sh
source /etc/profile

mkdir webrtc
cd webrtc
GYP_DEFINES="clang=0" fetch --no-history webrtc 

Это не завершается:

________ running '/usr/bin/python src/tools/clang/scripts/update.py --if-needed' in '/home/pi/webrtc/src/chromium'
Error: Command /usr/bin/python src/tools/clang/scripts/update.py --if-needed returned non-zero exit status 1 in /home/pi/webrtc/src/chromium
Traceback (most recent call last):
  File "src/tools/clang/scripts/update.py", line 324, in <module>
    sys.exit(main())
  File "src/tools/clang/scripts/update.py", line 304, in main
    stderr=os.fdopen(os.dup(sys.stdin.fileno())))
OSError: [Errno 22] Invalid argument
Hook '/usr/bin/python -u src/sync_chromium.py --target-revision d5098d02757b36232af2a50c2bcaa9dc36e70017' took 4732.59 secs
Running: gclient config --spec 'solutions = [
  {
    "managed": False,
    "name": "src",
    "url": "https://chromium.googlesource.com/external/webrtc.git",
    "custom_deps": {},
    "deps_file": "DEPS",
    "safesync_url": "",
  },
]
'
Running: gclient sync --no-history --with_branch_heads
Traceback (most recent call last):
  File "/opt/depot_tools/fetch.py", line 335, in <module>
    sys.exit(main())
  File "/opt/depot_tools/fetch.py", line 330, in main
    return run(options, spec, root)
  File "/opt/depot_tools/fetch.py", line 324, in run
    return checkout.init()
  File "/opt/depot_tools/fetch.py", line 136, in init
    self.run_gclient(*sync_cmd)
  File "/opt/depot_tools/fetch.py", line 76, in run_gclient
    return self.run(cmd_prefix + cmd, **kwargs)
  File "/opt/depot_tools/fetch.py", line 66, in run
    return subprocess.check_call(cmd, **kwargs)
  File "/usr/lib/python2.7/subprocess.py", line 511, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '('gclient', 'sync', '--no-history', '--with_branch_heads')' returned non-zero exit status 2

Я пробовал со многими версиями, с одним gclient revinfo -a говорит:

src: https://chromium.googlesource.com/external/[email protected]
src/third_party/gflags/src: https://chromium.googlesource.com/external/gflags/[email protected]
src/third_party/junit: https://chromium.googlesource.com/external/webrtc/deps/third_party/[email protected]

Как uv4l-webrtc используйте его, его можно построить, но как?

3 голоса | спросил mpromonet 23 PMpThu, 23 Apr 2015 14:07:41 +030007Thursday 2015, 14:07:41

1 ответ


3

Нативный WebRTC использует старый sysroot debian_wheezy_arm_sysroot.tgz , который связан с gcc-4.6, и некоторые инструменты (например, chromium-gn) кажутся недоступными для платформы для рук, поэтому я передумал и попытаюсь перекрестно скомпилировать его.

С помощью кросс-компиляции в системе Ubuntu 14.10 x86_64 можно выполнить следующие шаги:

  1. Установить инструментальную цепочку:

    sudo apt-get install git
    sudo git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git /opt/depot_tools
    echo "export PATH=/opt/depot_tools:\$PATH" | sudo tee /etc/profile.d/depot_tools.sh
    sudo git clone https://github.com/raspberrypi/tools.git /opt/rpi_tools
    echo "export PATH=/opt/rpi_tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin:\$PATH" | sudo tee /etc/profile.d/rpi_tools.sh
    source /etc/profile
    
  2. получить источники:

    export GYP_DEFINES="target_arch=arm"
    fetch --no-history webrtc 
    

Этот шаг занимает довольно много времени, и может потребоваться запустить gclient sync, если fetch.

  1. build:

    pushd src
    gn gen arm/out/Release --args='is_debug=false rtc_include_tests=false is_clang=false target_cpu="arm" treat_warnings_as_errors=false rtc_enable_protobuf=false'
    ninja -C arm/out/Release
    popd
    
ответил mpromonet 24 Maypm15 2015, 18:34:24

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132