Total Pageviews

Monday, 23 December 2024

应对美国的围堵压力,中国押“宝”单边开放

中国官方最近全面放宽了优化过境免签政策,将过境免签外国人在华境内停留时间由原72小时和144小时均延长为240小时(10天),同时新增21个口岸为过境免签人员入出境口岸,并允许在这些过境区域跨区流动。这一举动被认为是中国加强开放的最新象征。

过境免签政策是中国实行的单边开放战略的一部分。所谓单边开放,是与对等开放、互惠开放、条约开放相对应的一种开放形式,也即无论对方是否对己开放,一国或经济体都单方面、主动向对方扩大开放。中国官方把它解释为在没有国际条约和承诺约束下,立足中国自身发展需要、兼顾与世界良性互动需要,结合不同行业和领域特点,有节奏、有范围、有层次地主动开放,故称单边开放为自主开放。

从某种意义上来说,中国40多年前实行的开放实质上也是一种单边开放,但官方过去出于意识形态的考虑,从不把它说成单边开放。因为如果称之为单边开放,在政治上是要冒风险的,意味着中国和对方具有一种不平等的关系,处于弱势地位,至少在经贸上是如此。但早期的中国对外开放,限制还是颇多,尤其在体现国家主权的签证方面,是万万不可单边放开签证的,必须对方同时也要对中国实行免签。

中国经济再开放余地大

此轮中国单边开放,最早的讨论可以追溯到2017、2018年,即特朗普威胁要对中国产品加征关税之时,但那时只是少数学者提出了这个想法,在学界尚未成共识,更未被官方接受,作为政策动议。不过在疫情期间,尤其在疫情放开后,有关单边开放的讨论多了起来,渐成政策话语,主要是因为三年疫情官方极其严格的隔离措施,造成经济一落千丈,也对外国人来华设置了人为障碍,致使来华外国人剧减,导致依赖外国人的旅游观光、留学、文化艺术交流和商务往来几乎是毁灭性打击。这种情况在疫情防控放开后,并未有多少好转,经济没有如预期的恢复正常增长,反一路加速下滑。北京、上海等一线大城市的街头,洋面孔没见到几个,像北京三里屯、上海新天地这些过去在华外国人扎推的场域,疫情后很少见到外国人聚集了。

这里面当然还有美中竞争和对抗加剧的影响之故。拜登政府的制华相比特朗普,有过之无不及,包括美资在内的西方资本和企业大量撤出中国市场,导致外国人对华商务往来的减少。而为防阻美国遏制,中国当局也加强了所谓的安全能力建设,出台了多部与国家安全有关的法律,升级了对包括经济和技术安全在内的安全警戒和审查,给外国舆论造成一种去中国会有很大人身安全的风险印象,致使很多人包括一般民众不敢来华。

经济迟迟不见改善,尤其失业的增多和收入与财富的减少,让社会怨声载道,进一步冲击中共的统治基础;在另一方面,美国对华围堵的强化,特别是在技术、供应链以及民主与专制的意识形态叙事上,极力塑造排华的“新全球化”,亦让中国切实感受到在地缘政治上被美国和西方孤立的危险。要打破这种危局,使经济走出困境,越来越多的中国学者开始认识到,唯有继续改革开放。然而,改革受制于现实政治的集权化,所能推进的空间非常有限,但中国经济再开放的余地则很大。虽然中国并未关闭开放大门,可由于前述因素,中国的开放在中共二十大前的几年,事实上是停滞的。而要重启开放,就须有力度更大的措施,特别是有一些象征性很强的举措,这便是中国单方免签政策出台的背景由来。

对单边开放的设想很美好

由此可见,中国的单边开放是迫于外界压力所致,尽管当局没有承认这一点,而把它说成根据中国现代化建设需要的主动开放。但中国学者对此诚实得多,他们担忧如果中国只注重自力更生和进口替代,有可能成为另一苏联,这让很多学者向当局建言须再举开放大旗。为说服当局接受单边开放,一些学者还以英美为例,指它们也曾实行过对外单边开放,集聚了全球高端的人才、优质的资本。如美国,它的发展和维持世界霸权的能力,与其拥有的三大开放系统,即开放的教育—人才系统、开放的企业系统和开放的金融系统直接相关。美国在二战后在这些领域实行的单边开放政策,让美国获得了来自世界各地的高端人才、优秀企业家和优质资本,故想不发展都难。

主张单边开放的中国学者认为,单边开放能够有效化解美国推行的意识形态和地缘政治两极化,并让这种“两极化”演变成美国的“自我孤立主义”,为中国赢得经济发展的主动;单边开放特别是对最不发达国家实行的单边开放,还是中国为国际社会提供的国际公共品,能够重塑全球贸易格局和国际秩序。单边开放能让中国在国际层面将更好吸引生产要素,并避免美国的盟友和其他国家在美中之间选边站。因为只有在开放的状态下,才能实现生产要素自由流动,让市场配置资源。尤其面对特朗普二次回归对中国的关税威胁,单边开放还是回击特朗普贸易保护主义和经济民族主义的最好武器,用个别中国学者的话说,对特朗普的关税战,中国可以选择不跟随,而是通过对包括美国资本在内的开放,通过完善高水平的对外开放体制机制,用时间来逐渐摧毁美国的极端主义。

现有开放举措还不是高标准开放

单边开放的这些观念,为当局吸纳,变成了政策。7月召开的三中全会提出了扩大自主开放,有序扩大中国商品市场、服务市场、资本市场、劳务市场等对外开放,扩大对最不发达国家单边开放。从最近两年中国对外开放的力度和广度来看,确有很大进展,如外资在制造业长期存在的准入限制被清零,金融领域外资可以设立独资金融机构,文化、教育、医疗等过去不让外资染指的领域也在逐步扩大开放,包括允许设立外商独资医院试点等。

然而,中国这些提升外资的控股水平和扩大开放领域的举措,是否就是当局所指的高水平对外开放,是否和学者主张的单边开放内容一致,还是要打个问号的。根据力主单边开放的当局智囊郑永年的说法,中国要实行的单边对外开放,指的是包括制度、规则、规制和标准在内的对外开放,且只有制度和规则等的高水平开放,才是单边开放的最重要内容。郑曾表示,中国可根据自身需求,系统分析梳理中欧投资协定、全面与进步跨太平洋伙伴关系协定(CPTPP)、数字经济伙伴关系协定(DEPA)中可以优先实施的内容进行试点,先做起来。众所周知,这三个协定,尤其后两者,是当局正在极力争取加入的。

当局在对外开放上会不会按照郑的设想走到这一步甚至更远,不知道,但以此衡量,现在推进的这套单边开放恐怕还算不上高标准。虽然当局也在自贸试验区、海南自贸港等主动对接国际高标准经贸规则,推动在产权保护、产业补贴、环境标准、劳动保护、政府采购、电子商务、金融领域等实现规则、规制、管理、标准相通相容。然而,一来是这些方面的规则、规制等和上述三个协定要求的制度和规则等有一定差距;二来是向国际高标准看齐,不能仅局限在自贸区和自贸港,还需把它推向全国,否则,它就并非全面的单边开放。

单边开放先天不足,难解内需萎靡

对中国来说,还有一关键的现实问题须解决,或许才能让单边开放起到学者所希望达到的化解美国围堵压力和提振经济的作用,这个现实问题就是,做大做强中国的内需市场尤其消费市场,否则单边开放也救不了中国经济。因为单边开放的本质是利用市场力量来和世界进行捆绑,中国学者引为经验的英美当年的单边开放,所以能够成功,就是因为它们各自的市场规模都足够大,让全世界优质的人才、技术和资本能够在这个市场得到足够多的回报。可反观中国,内需市场迟迟起不来,才不得不出此单边开放之策。中国内需市场不能随经济成长而同步壮大的原因,在于发展模式着眼于中共的统治及与此有关联的利益集团对利益的攫取,而不利促进中产阶级的壮大,单边开放并未从根子上触动该发展模式。

乐观点说,当局如今推行的单边开放或许能局部改善中国经济状况,部分对冲美国围堵压力,但恐怕无法做到以开放促改革,而做不到这点,就难以从根本上解中国经济之困局。中国的开放与改革,本质上是要联动在一起的,若分开,两者的关联性不大,即有开放无改革,开放本身是无法解决制约中国发展的深层次制度体系问题。开放过程中的很多高标准的规则、规制,背后都涉及政治制度,是政治体制和政治环境的问题,后者如果不改,经济的规则和规制也是改不动的,或者要改也是浅层次的。正在这一点上,中国的单边开放具有先天不足。那些主张单边开放的学者不是不了解这点,但不能捅破这层窗户纸。

Sunday, 22 December 2024

facebook的开源项目

 https://opensource.fb.com/

加州和风号:横跨美国52小时火车卧铺体验如何

 

-------------------

海岸星光号:美国西海岸35小时最美火车之旅体验如何?Coast Starlight

开源的AI聊天机器人-ChatALL



ChatALL(中文名:齐叨)是一款支持同时与多个 AI 机器人实时聊天的开源工具。支持 ChatGPT、Bing Chat、bard、Alpaca、Vincuna、Claude、ChatGLM、MOSS、iFlytek Spark、ERNIE 等 AI 聊天机器人。基于JS和VUE编写,遵守Apache2.0开源协议。

功能特色:

    快问模式:不需要等待前面的请求完成,就可以发下一条指令
    对话历史保存在本地,保护你的隐私
    高亮喜欢的答案,删除不需要的答案
    随时启用/禁用任何机器人
    在一列、两列或三列视图之间切换
    自动更新到最新版
    夜间模式
    快捷键。按 Ctrl + / 可以看到所有快捷键
    多对话窗口
    支持设置代理
    提示词管理
    支持多语言(中文、英语、德语、法语、俄语、越南语、韩语、日语、西班牙语、意大利语)
    支持 Windows,macOS 和 Linux

 
支持的 AI:

AI 机器人 网页访问 API 说明
360 智脑 支持
文心一言 支持
Character.AI 支持
ChatGLM2 6B 和 130B 支持 无 API 不需要帐号
ChatGPT 支持 支持 包含 Web Browsing、Azure OpenAI service
Claude 支持 支持
Code Llama 支持 无 API
Cohere Aya 23 支持
Cohere Command R 系列模型 支持
Copilot 支持 无 API
得到学习助手 即将推出 无 API
Falcon 180B 支持 无 API
Gemini 支持 支持
Gemma 2B & 7B 支持
Gradio 支持 无 API 用于 Hugging Face space 或自己部署的模型
Groq Cloud 支持
HuggingChat 支持 无 API
讯飞星火 支持 即将推出
Kimi 支持 无 API
Llama 2 13B 和 70B 支持 无 API
MOSS 支持 无 API
Perplexity 支持
Phind 支持 无 API
Pi 支持 无 API
Poe 支持 即将推出
天工 支持 即将推出
通义千问 支持 即将推出
Vicuna 13B 和 33B 支持 无 API 不需要帐号
WizardLM 70B 支持 无 API
YouChat 支持
You 支持 无 API
Zephyr 支持

源代码:https://github.com/ai-shifu/ChatALL

Open-TV

 Ultra-fast, simple and powerful cross-platform IPTV app.

Completely rewritten to accommodate new features and to be even speedier, Open TV has been carefully crafted to deliver the best IPTV experience.

I've been developing and maintaining this project alone and for entirely for free over the past 2 years. I am in dire need of support to continue developing this project. I've never added annoying donation pop-ups or anything of the sort to make sure you have the fastest and cleanest IPTV experience and I'm committed to keep this project FREE & OPEN-SOURCE. To keep that commitment, I need your support!

Features:

  • Import your IPTV channels from any source (M3U File, M3U link, Xtream) 🗃️
  • Record while watching 🎥
  • Multi IPTV sources 🎊
  • Control the UI from a TV remote 📺
  • Super low RAM usage, crazy speeds, and instant search 🚅
  • Refresh your sources when you need it 🔄
  • Add channels to favorites 🌟
  • Make your own custom channels
  • Share your custom channels with friends

Prerequisites

If you are on Windows or use the flatpak on Linux; SKIP THIS PART.

The app depends on mpv, ffmpeg and yt-dlp. If you are on MacOS, you must use Brew or MacPorts to install those dependencies.

On Fedora, you must add rpmfusion to install those packages.

On Debian or LTS distro, I would strongly suggest using a backport for yt-dlp.

The Windows build comes with mpv included (.msi), but you can still install mpv from a package manager of your choice to always have the latest version installed

brew install mpv ffmpeg yt-dlp #MacOS
sudo dnf install mpv ffmpeg yt-dlp #Fedora
sudo zypper install mpv ffmpeg yt-dlp #OpenSUSE
sudo pacman -Syu mpv ffmpeg yt-dlp #Arch
sudo apt install mpv ffmpeg yt-dlp #Debian/Ubuntu
scoop install mpv ffmpeg yt-dlp # Windows
choco install mpv ffmpeg yt-dlp # Windows alternative

Feedback

Feel free to submit any kind of feedback by creating a new issue.

Hotkeys

  • F1: Help
  • Ctrl + a: Show all channels
  • Ctrl + s: Show categories
  • Ctrl + d: Show favorites
  • Ctrl + f: Search
  • Ctrl + q: Enable/Disable livestreams
  • Ctrl + w: Enable/Disable movies
  • Ctrl + e: Enable/Disable series
  • Backspace/Esc: Go back
  • Arrow keys/Tab/Shift+Tab: Navigation

If you have a tv remote or air mouse that has slightly different bindings for general nav (back, up, down, left, right), please open an issue and I will add them if it's feasible. Otherwise, you can still use hwdb to make them match OpenTV's bindings.

Settings explained

Stream Caching

Why enabling:

  • If you have a slow internet connection/IPTV provider causing the stream to pause often

Why disabling:

  • If the stream often drops completely. It will prevent the stream from jumping too far ahead/behind
  • If you have a good internet/provider and want lower latency
  • Can prevent some weird bugs/slowdowns

from https://github.com/Fredolx/open-tv

 

开源的 AI 视频生成工具-VideoCrafter


VideoCrafter是一款开源的 AI 视频生成工具,可直接基于文本,快速生成与编辑视频。支持从文本Prompt提示词生成视频,支持LoRA模型,另支持对已有视频进行风格转换(类似于SD绘画的图生图功能)。基于Python编写,遵守Apache2.0开源协议。

功能特色:

通用文本到视频生成: 提供了一个基于潜在视频扩散模型(LVDM)的基本文本到视频(T2V)生成模型。 可以根据输入的文本描述合成逼真的视频。

使用 LoRA 生成个性化的文本到视频:基于预训练的LVDM,通过在一组描述特定概念的视频剪辑或图像上进行微调来创建视频生成模型。

视频控制:通过将轻量级适配器模块插入 T2V 模型,获得具有更详细控制信号(例如深度)的生成结果。

源代码:https://github.com/AILab-CVC/VideoCrafter

infini-Cloud,白嫖25GB的云盘空间,支持 WebDAV 挂载本地



有些小伙伴不喜欢用云端同步的软件,因为大多数都需要额外付费,所以会选择本地化 + 自建同步方案,例如之前分享过的「Obsidian」笔记就支持通过用  WebDAV 方式来同步。

目前比较流行支持 WebDAV 的网盘有坚果云,不过免费用户才 1G 空间实在有点少。所以今天推荐「infini cloud」这个网盘,注册就可以免费获得 25G 容量,号称高达 200Mbps 速度。
注册方法

1.访问网站 https://infini-cloud.net/en/

2.点击「Create Account」注册账号

3.填写注册资料,名称、密码、邮箱、ID、然后 Next 注册。

4.打开你注册的邮箱,查收验证码,填入。

5.在 My Page 页面,找到 Referral Bonus - Enter Friends Referral Code 位置输入邀请码(ARQ5G)可以增加 5GB 容量空间。

开启 WebDAV

同样在 My Page 页面,找到 Apps Connection,然后把这个 Turn on Apps Connection 给开启,之后就可以看到挂载的地址、ID、密码了。你也可以点击 Reissue 来重置新密码。


挂载本地

方法一:找一个支持 Webdav 挂载本地磁盘的软件,推荐用「RaiDrive」这款软件,新建立驱动器,选择 NAS - Webdav。分别填写地址、路径、账号、密码。
之后你的文件管理器就会新增一个 Webdav 的磁盘,现在你可以复制粘贴文件到里面了。不过容量显示是错误的,不管它。


方法二:如果你不想要用「RaiDrive」这款软件来挂载,那么也可以通过文件管理器 - 映射网络驱动器来挂载。

输入挂载的地址,确定后会弹出输入账号密码,之后确认就能挂载到文件管理器里面了。

测速方面,我的宽带上传速度只有 50Mbps,复制文件到网盘里面基本上满速上传了。

FlyingCarpet - 开源的跨平台的局域网文件传输工具



一款开源跨平台局域网文件传输工具「FlyingCarpet」只需要在同个局域 WiFi 网络情况下就可以互相传送文件,提供了 Android、iOS、Linux、macOS 和 Windows 客户端。

功能特色:

    无需启动电脑蓝牙
    支持断点续传
    支持多平台
    使用简单
    高效传送大文件

项目地址:
https://github.com/spieglt/FlyingCarpet

----------------------------------------------------

Cross-platform AirDrop. File transfer between Android, iOS, Linux, macOS, and Windows over ad hoc WiFi. No network infrastructure required, just two devices with WiFi chips in close range.  

Version 8 adds the option to send folders from Android and iOS

Download for Android:

Get it on Google Play  Get it on F-Droid

Or if you prefer to sideload, android_FlyingCarpet.apk is available on the releases page.

Download for iOS:

Get it on Apple App Store

Or search the App Store for "Flying Carpet File Transfer".

Linux, macOS, and Windows versions are available on the releases page. Installers and standalone executable versions available.

Flying Carpet

Send and receive files between Android, iOS, Linux, macOS, and Windows over ad hoc WiFi. No shared network or cell connection required, just two devices with WiFi chips in close range.

Don't have a flash drive? Don't have access to a wireless network? Need to move a file larger than 2GB between different filesystems but don't want to set up a network share? Try it out!

Demo video

Screenshots:


Use:

Linux: Download the .AppImage file from the releases page for a standalone version, or if you're on a Debian-based distribution, download the .deb file and install it with apk or dpkg.

macOS: Download the .dmg disk image file from the releases page. Double-click to mount it and drag the .app bundle inside to your Applications folder. Or if you use Homebrew, run brew install flying-carpet.

Windows: Download the .msi installer from the releases page, or FlyingCarpet.exe for a standalone version.

Compilation Instructions:

  • Install Rust.

  • Run cargo install tauri-cli to install Tauri.

  • Mac only: Install XCode. Open FlyingCarpetMac/FlyingCarpetMac/FlyingCarpetMac.xcodeproj and build it.

  • For Linux, install dependencies. Ubuntu 20 example:

sudo apt install libsoup2.4* libjavascriptcoregtk* libgdk-pixbuf2.0* librust-pango-sys-dev libgdk3.0* librust-atk-dev librust-atk-sys-dev librust-gdk* libwebkit2gtk* librsvg2-dev
  • Run cargo tauri dev to run a development version or cargo tauri build to create release artifacts.

Restrictions:

  • Apple devices can only transfer to/from Android, Linux, and Windows as they can no longer programmatically run hotspots. Use AirDrop instead for Apple-to-Apple transfers.

  • Disables your wireless internet connection while in use. (Does not apply to Windows or Android when hosting the hotspot.)

  • macOS sometimes switches back to a wireless network with internet connectivity during particularly long transfers.

  • The Android version requires at least Android 8/API level 26. The Android version does not work on some Xiaomi, MIUI, or HarmonyOS devices, and possibly other Android-like OSes. I don't own these devices and so can't test, but it seems like this is due to lack of support for the LocalOnlyHotspot API. It has been confirmed to work on at least one Xiaomi phone.

  • Requires Windows 10 or later.

  • The Linux version was developed and tested on Linux Mint. I mainly intend for it to run on Debian-based distributions. I will try to help troubleshoot others if I can, but I may not be able to as I don't have access to spare machines. There has been at least one issue running on Fedora, possibly to SELinux but I don't really know.

  • Sometimes when the Cancel button is hit on the desktop platforms, it can take time for the OS to finish trying to join or create a hotspot. Please only click the Cancel button once and wait a few seconds. This sounds like it should be easy to fix, but last time I tried it was not.

Planned Features

  • Bluetooth for connection negotiation (instead of QR code scanning or manual entry)?

  • Add Flying Carpet shortcut to iOS Share menu.

Questions That Could Be Asked at Some Point:

  • Wasn't this a Go repo? Yes, carcinization has come for the gopher. There were several issues I didn't know how to solve in the Go/Qt paradigm, especially with Windows: not being able to make a single-file executable, needing to Run as Administrator, and having to write the WiFi Direct DLL to a temp folder and link to it at runtime because Go doesn't work with MSVC. Plus it was fun to use tokio/async and windows-rs, with which the Windows networking portions are written. The GUI framework is now Tauri which gives a native experience on all platforms with a very small footprint. The Android version is written in Kotlin and the code is in this repository. The iOS version is written in Swift and the code is not public.

  • You're using SHA-256 to derive the key from a password. Isn't that bad? Shouldn't you be using a Password-Based Key Derivation Function like Scrypt or Argon2? I was doing this before, but it wasn't strictly necessary because these keys are only used during the file transfer. For an attacker to intercept the data in transit, they'd need to be on the hotspot network, which is protected by WPA2, so they'd need to shoulder-surf the password or QR code. The change to SHA-256 was made because I couldn't find a good Scrypt or Argon2 implementation on all platforms when I added the mobile versions.

  • Why are you using AES-GCM at all if there's already WPA2 then? When I started working on this project in 2017, I was trying to allow for IBSS WiFi networks on macOS that didn't use authentication. I was using the wrong encryption (and incorrectly) then, and later I added AES-GCM because it's the only good and official-ish AEAD implementation I could find in all of Go, Swift, Kotlin, and now Rust. If any cryptographers read this and find that I'm still being dumb, please let me know.

If you've used Flying Carpet, please send feedback to theron@spiegl.dev. Thanks for your interest! Please also check out https://github.com/spieglt/cloaker, https://cloaker.mobi, and https://github.com/spieglt/whatfiles.

from https://github.com/spieglt/FlyingCarpet

Idify is a locally run browser-based application for creating ID photos

 

Make ID photo right in the browser.

idify.netlify.app/

Download

Feature

  • Privacy-Focused: Ensure user privacy by not uploading file to server, enhancing the security of personal documents.
  • Document Support: Edit various common documents, including ID cards, passports, visas, and more.
  • Free of Charge: Provide all editing functionalities free of cost, making it accessible to a wide range of users.
  • Multi-Platform Compatibility: Access the tool on various platforms, including the web and Android devices.
  • Responsive Web Design: Adapt seamlessly to different screen sizes, offering a responsive web design that caters to both PC and mobile users. Cross-Device Functionality:
  • Editing Capabilities: Enable users to edit and enhance document photos with features such as cropping, resizing, adjusting brightness and contrast, and more.

Privacy

Idify does not send your images to a server. All image processing is done locally.

However, it utilizes Google Analytics to collect the following:

  • Basic visitor data.
  • If Idify is a Progressive Web App (PWA), it collects information about the type of Idify installation.
  • If Idify is a Progressive Web App (PWA), it records the installation time and date.

Developing

To contribute to Idify's development:

  1. Clone the repository.

  2. To install the required node packages, run:

    pnpm install

Start the development server by running:

npm run dev
from https://github.com/zhbhun/idify 

 

next-admin

 (from https://github.com/MrXujiang/next-admin)

An out-of-the-box admin based on NextJS and AntDesign | 一款基于nextjs+antd5.0的后台系统

orange.turntip.cn

1.0 is out! 🎉🎉🎉

Next-Admin 1.2.0

Features

  • Next14.0 + antd5.0
  • Support i18n
  • Theme switching is supported
  • Integrate data visualization reports
  • Support drag and drop page
  • Out-of-the-box business pages
  • Custom drag-and-drop reports are supported
  • Next Full-stack best practices
  • Support mobile PC adaptation
  • Support JWT demo
  • Support AI conversations
  • Support Choreography
  • Support Excel
  • Support Chart Editor

Usage

Install

$ git clone git@github.com:MrXujiang/next-admin.git

Install dependencies:

$ cd next-admin && pnpm install

run:

# yarn dev
$ pnpm dev



看图工具-光影看图

 https://down.neoimaging.cn/neoimaging/NeoViewerSetup_10000_4.6.4.923.exe

from https://www.gymss.cn/kantu

Saturday, 21 December 2024

在那遥远的地方(二胡)


vue-express-forum

基于vuejs,express,mongodb的多人论坛.

启动应用:

安装依赖

$ npm install

启动Mongod数据库服务,默认监听27017端口

$ mongod --dbpath=/var/mongodb/data -fork --logpath /var/mongodb/logs/log.log

启动服务器

$DEBUG=vue-express-forum && npm start

访问本地服务器3000端口

localhost:3000/

开发

启动webpack服务,hot-reload

$ npm run dev

生产环境

$ npm run build

from https://github.com/laoqiren/vue-express-forum

搭建静态博客程序yohe

npm install yohe -g

yohe init yohe-blog
cd yohe-blog
yohe new test
显示:
create new post test sucessfully! Go to edit file source/_posts/test.md
root@racknerd-626f077:~/yohe-blog# nano source/_posts/test.md
root@racknerd-626f077:~/yohe-blog# cat source/_posts/test.md
---
title: 测试
date: 2024-12-22,00:24:32
layout: post
comment: true
tags: [blog]
categories: code
---

这是测试。

看看如何?

root@racknerd-626f077:~/yohe-blog# yohe build (此命令会在当前目录下,生成public目录)
root@racknerd-626f077:~/yohe-blog# cd public
root@racknerd-626f077:~/yohe-blog/public# ls
2024 about archives assets categories index.html page tags
root@racknerd-626f077:~/yohe-blog/public#
(可见~/yohe-blog/public就是静态网站的根目录)
root@racknerd-626f077:~/yohe-blog/public# netlify deploy
root@racknerd-626f077:~/yohe-blog/public# netlify deploy --prod
root@racknerd-626f077:~/yohe-blog/public# vc --cwd .
(https://briteming.blogspot.com/2016/12/vpsnetlifycom.html) 
演示网站:
https://yhb-5o2tlvigw-luckypoems-projects.vercel.app/
https://yohe.netlify.app/
项目地址:
https://github.com/laoqiren/yohe  
https://github.com/briteming/yohe
这静态博客程序搞得不错,中国人就是聪明,值得点赞。
  
  
 
 
  
 
  

 

 

Cuttlebelle是一个基于React的静态网站生成器


Cuttlebelle是一个基于React的静态网站生成器,允许开发人员快速、轻松地建立灵活、动态的静态网站。

它允许开发人员使用React组件构建网站–这意味着你可以创建可重复使用的组件,这些组件可以使用一个简单的拖放界面来构建页面、部分,甚至整个网站。

Cuttlebelle还支持广泛的内容类型,包括Markdown、JSON和YAML。这使开发人员能够轻松地创建内容丰富的网站,从简单的登陆页面到复杂的网络应用。

虽然Cuttlebelle是一个新的、没有广泛流行的静态网站生成器,在GitHub上的认可度不如Gatsby或Next.js等成熟的选项–但它在欣赏其创建静态网站的独特方法的开发者中拥有忠实的粉丝。

请查看Cuttlebelle的官方文档(https://cuttlebelle.com/documentation/)以了解更多信息。

如何选择最好的React静态网站生成器?

选择最好的React静态网站生成器可能是令人生畏的,特别是在有很多选择的情况下。

为了帮助你做出一个明智的决定,这里有一些关于如何选择最好的React静态网站生成器的提示:

  1. 理解你的需求: 在选择React静态网站生成器之前,你应该了解你的网站的要求。例如,如果你需要一个易于设置和维护的网站,你可能要考虑一个具有简单和直观的用户界面的生成器。另一方面,如果你需要一个高度可定制和可扩展的网站,你可能要考虑一个更先进的生成器。
  2. 社区支持: 社区支持是选择React静态网站生成器时的另一个关键因素。选择一个拥有活跃的开发者社区的生成器,他们可以提供支持并分享技巧和窍门。
  3. 检查灵活性: 你应该选择一个允许你创建满足你特定需求的网站的React静态网站生成器。例如,一些生成器可能更倾向于创建博客,而另一些可能更适合创建文档网站。
  4. 评估性能: 在当今快节奏的数字世界中,网站性能是至关重要的。因此,你应该选择一个能产生快速加载网站的React静态网站生成器。有些生成器会创建臃肿的代码,会减慢页面加载时间。你想要一个能产生高效代码的生成器。
    分析使用的便利性: 你不希望花几个小时来弄清楚如何使用一个复杂的生成器。因此,你应该选择一个易于使用并有良好文档的React静态网站生成器。你也可以寻找带有预制模板和主题的生成器,以使设置过程更加简单明了。

小结

静态网站正变得越来越流行,因为它们比动态网站具有一些优势。它们适用于很少或没有用户互动的网站,如博客、作品集和公司网站。

在速度、安全和成本方面,静态网站通常更快、更安全、更具成本效益,因为它们不需要服务器端处理或数据库。

你是否考虑为你的下一个项目使用React静态网站生成器?

项目地址:https://github.com/cuttlebelle/cuttlebelle

搭建静态博客程序 svelte-QWER

 首先搭建nodejs环境。然后,

npm install -g pnpm
git clone https://github.com/kwchang0831/svelte-QWER
cd svelte-QWER
pnpm install
pnpm build (此即生成/更新静态网站的根目录的命令。此命令会在当前目录下生成build目录) 

cd build

$ ls
 _app/               example.html      manifest.webmanifest   versions.json
 about.html          favicon.ico       quick-start.html      
 atom.xml            favicon.png       robots.txt            '~partytown'/
 feed.json         service-worker.js
 hello-QWER.html   sitemap.xml
 example/       index.html

(可见~/svelte-qwer/build目录就是静态网站的根目录)

新建源帖:

cd ~/svelte-qwer/user/blogs

~/svelte-qwer/user/blogs (main) $ ls
about/  example/  hello-QWER/  quick-start/ 
~/svelte-qwer/user/blogs (main) $ mkdir test

~/svelte-qwer/user/blogs (main) $ cp quick-start/* test/

~/svelte-qwer/user/blogs (main) $ cd test

~/svelte-qwer/user/blogs/test (main) $ ls
cover.jpg  index.md 

~/svelte-qwer/user/blogs/test (main) $  nano index.md

~/svelte-qwer/user/blogs/test (main) $ cat index.md

显示:

---
title: 测试
description: good
summary: ✨ 测试一下
published: '2024-12-21T10:20:00.000+08:00'
updated: '2024-12-21T10:20:00.000+08:00'
cover: ./cover.jpg
coverCaption: Photo by <a href="https://unsplash.com/ja/@mxhpics?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Maxime Horlaville</a> on <a href="https://unsplash.com/s/photos/start?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>
tags:
  - [QWER]
---

测试一下。

看看如何?


cd ~/svelte-qwer/

pnpm build
然后上传~/svelte-qwer/build目录的内容到https://app.netlify.com/drop,得到网址-
演示网址:https://scintillating-cat-bfdf34.netlify.app/
项目地址:https://github.com/kwchang0831/svelte-QWER
 
 


 



 




 

静态站点托管平台

 Bitbucket Cloud

https://support.atlassian.com/bitbucket-cloud/docs/publishing-a-website-on-bitbucket-cloud/

跟 GitHub Pages 的功能一样,但是:
    无法自定义域名
    能且只能通过 https 协议访问(http 协议会被跳转到 https 协议)
    所有项目的静态网站代码都只能放在专门的站点仓库里(accountName.bitbucket.io),不能像 GitHub 那样可以在每个项目里用 gh-   pages 分支保存文件
----------------------------

免费好用的静态托管平台4EVERLAND

 4EVERLAND是一个新兴的静态页面托管平台,提供40GB免费存储空间和无限流量,仅需Github授权登录。它支持Vue.js、Next.js、Nuxt.js、React等框架的快速部署,自动分配二级域名并支持自定义域名和SSL部署。虽然目前节点主要在境外,但访问体验良好.

https://www.4everland.org/
------------------------------------

https://about.gitlab.com/blog/2016/04/07/gitlab-pages-setup/

一个强大的静态站点部署平台:Meli


Meli 是一个开源的静态站点和前端应用部署平台,它提供了简单易用的接口和强大的功能集,使得发布前端项目变得更加便捷高效。

项目介绍

Meli 平台以其出色的管理界面和丰富的特性,改变了传统的前端部署方式。通过它,你可以轻松创建无限数量的静态站点,并为它们设置自定义域名,支持多组织、团队和用户管理。此外,Meli 还提供了诸如 Webhooks、Slack 和 Mattermost 等多种集成选项,以满足你的协作需求。

Meli demo screenshot

技术分析

Meli 基于 Docker Compose 部署和升级,确保了系统的稳定性和易用性。其API带有精细的权限控制,便于实现安全的数据交互。同时,Meli 支持 Letsencrypt 或私人 ACME 服务器自动签发 HTTPS 证书,保证了数据传输的安全性。开发过程中,Meli 提供了详细的文档,包括安装指南、分支管理和认证机制,让你可以快速上手并深度定制。

应用场景

  1. 个人博客 - 使用 Meli 快速部署个性化博客,并通过自定义域名展示。
  2. 企业网站 - 多团队协作开发,每个部门或项目可拥有独立站点。
  3. 软件产品演示 - 将不同的版本或分支作为单独的演示站,方便客户体验。
  4. 敏捷开发 - 持续集成过程中,为每次代码提交生成预览链接,以便团队成员和客户即时反馈。

项目特点

  1. 无限站点与分支 - 可在同一个主域名下部署无数个站点和分支。
  2. 自定义域名与 HTTPS - 自动化的 HTTPS 证书管理,让每个站点都能安全访问。
  3. 多用户管理 - 组织、团队和用户管理,支持权限分配,易于协作。
  4. API 定制 - 精细的 API 权限控制,可以构建扩展的功能。
  5. 集成友好 - 支持 Webhooks、Slack、Mattermost 等集成,提升工作效率。
  6. 可配置性强 - 可以进行大量环境变量级别的自定义,以适应不同需求。

总的来说,Meli 是一个强大且灵活的静态站点部署解决方案,无论是小型项目还是大型企业的复杂需求,都能游刃有余地应对。如果你正在寻找一个能够提升前端开发效率的工具,那么 Meli 绝对值得尝试。现在就前往官方文档开始你的 Meli 之旅吧!

https://docs.meli.charlie-bravo.be/

https://github.com/getmeli/meli

Windows直接获取文件的hash值

 C:\Users\12799\Desktop>certutil -hashfile boa.jpg
SHA1 的 boa.jpg 哈希:
7f0917d6838f13fe09d1f6cafccf8ed7fe37535b
CertUtil: -hashfile 命令成功完成。

C:\Users\12799\Desktop>

Friday, 20 December 2024

cabal的windows 版

 https://downloads.haskell.org/~cabal/cabal-install-latest/cabal-install-3.14.1.0-x86_64-windows.zip

Thursday, 19 December 2024

gin-haskell

 Gin is a static blog generator written in haskell which transforms your posts to github issues as static blog automatically.

Do you want to use your github issues as a static website like this? Gin can help you!

Gin is a project written in haskell which can parser your posts and transform them to github issues automatically.

Features

✅ Support Markdown grammar that Github supports (because I just upload your post with a few midifications 😜)

✅ Support creating and modifying your issues posts locally

✅ Support LaTeX grammar

✅ Support post tags

✅ Support some extension grammars

There is an example.

Installation

Please install cabal or haskell-platform first.

git clone https://github.com/zeqing-guo/gin-haskell.git & cd gin-haskell
cabal sandbox init --only-dependencies
cabal install

Usage

➜  gin -h
Usage: gin [-inphv] [file]
  -i DIR   --init=DIR  Create a blog including a config file and an example post
  -n FILE  --new=FILE  Create a post
  -p       --publish   Publish new and modified posts on Github
  -h       --help      Print this help message
  -v       --version   Show gin's version

➜  gin -i blog
Copy data to blog

➜  cd blog 
➜  gin -n "a new post"
Create post/2015-12-12 a new post.md

➜  echo "\n> hello world" >> post/2015-12-12\ a\ new\ post.md
➜  gin -p 
Upload a new post...
All posts have been updated

Note that you need to fill the _config.yml file to make gin work.

You can get a github token from https://github.com/settings/tokens, and public_repo is enough.

You can insert your copyright statement using {{ copyright }}.

from https://github.com/zeqing-guo/gin-haskell

 

王小波:工作与人生

 我现在已经活到了人生的中途,拿一日来比喻人的一生,现在正是中午。人在童年时从朦胧中醒来,需要一些时间来克服清晨的软弱,然后就要投入工作;在正午时分,他的精力最为充沛,但已隐隐感到疲惫;到了黄昏时节,就要总结一日的工作,准备沉入永恒的休息。按我这种说法,工作是人一生的主题。这个想法不是人人都能同意的。我知道在中国,农村的人把生儿育女看作是一生的主题。把儿女养大,自己就死掉,给他们空出地方来------这是很流行的想法。在城市里则另有一种想法,但不知是不是很流行:它把取得社会地位看作一生的主题。站在北京八宝山的骨灰墙前,可以体会到这种想法。我在那里看到一位已故的大叔墓上写着:副系主任、支部副书记、副教授、某某教研室副主任,等等。假如能把这些"副"字去掉个把,对这位大叔当然更好一些,但这些"副"字最能证明有这样一种想法。顺便说一句,我到美国的公墓里看过,发现他们的墓碑上只写两件事:一是生卒年月,二是某年至某年服兵役;这就是说,他们以为人的一生只有这两件事值得记述:这位上帝的子民曾经来到尘世,以及这位公民曾去为国尽忠,写别的都是多余的,我觉得这种想法比较质朴......恐怕在一份青年刊物上写这些墓前的景物是太过伤感,还是及早回到正题上来罢。

  **我想要把自己对人生的看法推荐给青年朋友们:人从工作中可以得到乐趣,这是一种巨大的好处。**相比之下,从金钱、权力、生育子女方面可以得到的快乐,总要受到制约。举例来说,现在把生育作为生活的主题,首先是不合时宜;其次,人在生育力方面比兔子大为不如,更不要说和黄花鱼相比较;在这方面很难取得无穷无尽的成就。我对权力没有兴趣,对钱有一些兴趣,但也不愿为它去受罪------**做我想做的事(这件事对我来说,就是写小说),并且把它做好,这就是我的目标。**我想,和我志趣相投的人总不会是一个都没有。

  根据我的经验,人在年轻时,最头疼的一件事就是决定自己这一生要做什么。在这方面,我倒没有什么具体的建议:干什么都可以,但最好不要写小说,这是和我抢饭碗。当然,假如你执意要写,我也没理由反对。总而言之,干什么都是好的;但要干出个样子来,这才是人的价值和尊严所在。人在工作时,不单要用到手、腿和腰,还要用脑子和自己的心胸。我总觉得国人对这后一方面不够重视,这样就会把工作看成是受罪。失掉了快乐最主要的源泉,对生活的态度也会因之变得灰暗......

  人活在世上,不但有身体,还有头脑和心胸------对此请勿从解剖学上理解。人脑是怎样的一种东西,科学还不能说清楚。心胸是怎么回事就更难说清。对我自己来说,心胸是我在生活中想要达到的最低目标。某件事有悖于我的心胸,我就认为它不值得一做;某个人有悖于我的心胸,我就觉得他不值得一交;某种生活有悖于我的心胸,我就会以为它不值得一过。罗素先生曾言,对人来说,不加检点的生活,确实不值得一过。我同意他的意见:不加检点的生活,属于不能接受的生活之一种。**人必须过他可以接受的生活,这恰恰是他改变一切的动力。**人有了心胸,就可以用它来改变自己的生活。

  **中国人喜欢接受这样的想法:只要能活着就是好的,活成什么样子无所谓。**从一些电影的名字就可以看出来:《活着》、《找乐》......**我对这种想法是断然地不赞成,因为抱有这种想法的人就可能活成任何一种糟糕的样子,从而使生活本身失去意义。**高尚、清洁、充满乐趣的生活是好的,人们很容易得到共识。卑下、肮脏、贫乏的生活是不好的,这也能得到共识。但只有这两条远远不够。我以写作为生,我知道某种文章好,也知道某种文章坏。仅知道这两条尚不足以开始写作。还有更加重要的一条,那就是:某种样子的文章对我来说不可取,绝不能让它从我笔下写出来,冠以我的名字登在报刊上。以小喻大,这也是我对生活的态度。

Wednesday, 18 December 2024

如何删除某个github仓库的分支


  1. GitHub 上,导航到存储库的主页面。
  2. 在左侧的文件树视图中,选择 分支下拉菜单,然后单击“查看所有分支”。比如:https://github.com/briteming/vgi/branches ,在分支xxx的那一行的最右端,点击垃圾桶图标,即可删除分支xxx。

搭建基于github issue的静态博客程序vgi

 首先,fork此项目https://github.com/varHarrie/varharrie.github.io ,我fork 后的项目地址是

https://github.com/briteming/vgi ,然后访问https://github.com/briteming/vgi/issues/new,创建issue. 除了要输入标题及内容外,还要添加label(我添加的 label的值是blog)和milestone(我添加的milestone的值是posts),然后才提交issue.

然后,访问vercel.com/new (当然,你需先登录你的vercel账号),然后导入vgi项目:

在跳到的页面的environment variables处:

按如下的内容:

VITE_APP_TITLE=Blog of brite
VITE_TITLE=it's Blog of brite
VITE_EMAIL=briteming@gmail.com
VITE_GITHUB_URL=https://github.com/briteming/vgi
VITE_GITHUB_ACCESS_TOKEN_PART1=你的GITHUB_ACCESS_TOKEN的值被截断的第一部分
VITE_GITHUB_ACCESS_TOKEN_PART2=你的GITHUB_ACCESS_TOKEN的值被截断的第二部分
VITE_GITHUB_OWNER=briteming
VITE_GITHUB_REPO=vgi
VITE_GITHUB_MILESTONE_POSTS=1
VITE_GITHUB_MILESTONE_SNIPPETS=2
VITE_ARTICLE_PAGE_SIZE=5
VITE_COMMENT_PAGE_SIZE=30

在key 处和value处分别填好。然后点击deploy按钮,等待部署完成。部署完成后,我得到的网址是https://vgi-jg9v.vercel.app 

还有一种办法:

克隆项目到本地机器,

git clone https://github.com/briteming/vgi

cd vgi

yarn

nano .env

cat .env

 显示:

VITE_APP_TITLE=Blog of brite
VITE_TITLE=it's Blog of brite
VITE_EMAIL=briteming@gmail.com
VITE_GITHUB_URL=https://github.com/briteming/vgi
VITE_GITHUB_ACCESS_TOKEN_PART1=你的GITHUB_ACCESS_TOKEN的值被截断的第一部分
VITE_GITHUB_ACCESS_TOKEN_PART2=你的GITHUB_ACCESS_TOKEN的值被截断的第二部分
VITE_GITHUB_OWNER=briteming
VITE_GITHUB_REPO=vgi
VITE_GITHUB_MILESTONE_POSTS=1
VITE_GITHUB_MILESTONE_SNIPPETS=2
VITE_ARTICLE_PAGE_SIZE=5
VITE_COMMENT_PAGE_SIZE=30

 然后运行:

yarn build 

(此命令会在当前目录下,生成dist目录。dist目录就是静态网站的根目录)

cd dist

~/vgi/dist (v2) $ ls
assets/  index.html

~/vgi/dist (v2) $

你可以把 ~/vgi/dist目录的内容push到github pages或上传到netlify.com空间,得到的网址是

https://beautiful-genie-bec070.netlify.app/#/posts

演示网址:

https://vgi-jg9v.vercel.app/#/posts

https://beautiful-genie-bec070.netlify.app/#/posts

项目地址:

https://github.com/varHarrie/varharrie.github.io

https://github.com/briteming/vgi 

 

 

 


 

 




强者和弱者的区别

 

首先强者和弱者的第1个区别在于:靠自己,还是靠别人。

这完全是两个思维循环模式,内核是对于责任的承担能力

对于强者来说,他们更能够看到自身的主动性。所以遇到一件事了,他们首先会向内探索自我需求,知道我要的是什么,去发现外部的客观问题。发现问题之后,他们会去思考解决方案,然后看看自己手上有什么资源,接着去行动,就是靠自己的能力去尝试解决问题,拿到自己想要的结果

但是初期往往会因为能力不足,资源不够,所以出现问题。那么这个时候他们会开始思考哪里有问题,哪里没有做到位,哪里需要改进,然后通过改进调整,最终一步一步的靠近或拿到自己想的结果,这也是心理学中所说的【成长性思维】。

但是弱者的思维模式是完全不一样的,大多数弱者他们都不知道自己到底想要的是什么,往往会根据外部的营销盲目决策,就是很容易受到外部价值观的影响去做选择,然后遇到事了会产生巨量的情绪,因为他们自身没有能力,也不相信自己可以做到,他们没有安全感,那么这样的内核就造就了无知,因为无知,所以他们恐惧,因为恐惧又产生焦虑。

那这个时候怎么办呢?

他们会把这部分需求向外面投射,就是想要靠别人来拯救自己。

那么你妄图靠别人的时候,其实就让渡了自己的权力,这个时候你就失去了主动性呀,因为你会没有任何的选择权,完全依据依靠别人。然后别人给了你一套解决方案,如果解决了你的事情,你下次会继续考虑这套方案,如果没有解决问题,你还会开始埋怨对方水平不行

所以你会发现很多弱者一边靠着强者,一边还要攻击强者,而且自己还无法从这种状态里面抽离,因为没有任何的选择权。

所以这是强者和弱者的第1个区别,就是他们的思维模式是完全不一样的。很多弱者会觉得那些强者是命好,他们就没有遇到那么多问题阻碍,其实不是的,而是强者在面对问题的时候,他们更能够跳出来看清楚,他们也能够接受自己当下可能能力不足,但是他们并不会因此就转而去靠别人,他们会去思考自己如何一步步提升能力,去思考问题的解决方案,去成长自己。最终随着自己的提升,问题变得越来越小。

但弱者不一样,他们遇到很多问题,第一时间想的就是逃避,或者渴望有一个人能替自己去解决。那么在这个过程中,自身的能力没有得到任何的提升,甚至也失去了成长的机会。所以当下次类似的问题出现时,自己仍然无法应对,还需要依靠别人,但是依靠别人又充满了不确定性。所以痛苦烦恼一大堆。

强者和弱者的第二个区别是心理能量的不同。

心理能量更多的取决于对这个世界规律和真相的洞察

你会发现强者的心理能量往往都是非常高的,就是他们遇到很多事的时候,不会第一时间惊慌失措,惶恐不安。不会一味的在那里愤怒,宣泄情绪。

但是弱者不一样,弱者往往不能客观的看待事情本身, 对于弱者来说,他们最看重的是他们的自尊心,所以你会发现很多弱者的言论变来变去,但是所有行为的目的都是在证明自己没有错,错不在我。

那为什么会有这种区别呢?就是因为强者洞悉了更多这个世界的规律,就是他们很清楚一切都在变,就像佛家所说的诸行无常,很多事是超出人力可控制的范围的,有着很大的随机性的。

所以他们可以坦然的面对世界上一些风险和变数。他们可以接受事与愿违,他们不会过分的执着结果。他们也非常勇于去承认自己的认知不足,会去探索更好的行为模式,不断的成长自己。

但弱者不一样,他们对这个世界充满了无知。所以但凡事情超出了一点自己的掌控他们就会感觉不安全,就会发火,会想要控制外部,试图改变别人,去指责、道德绑架甩脸子,会想要用尽一切方法达到自己预期的东西。如果做了这一切还是得不到自己想要的,还是出错了失败了,这就会伤及他们的自尊心,所以他们会编出一万个理由去证明自己没有错,好维护自己的自尊心

那么因为这种对规律的理解不够透彻,所以他们的人生会更加的磕磕绊绊,有更多的痛苦烦恼。

所以强者和弱者的第2个区别是心理能量的区别,更深入点说是对这个世界规律和真相的认知上的区别。

那么强者和弱者第3个区别是决策上的区别。

就是强者的决策往往是基于对于信息的收集和自身的了解,去客观评估风险,然后在自己能接受的范围内,去找一个最适合自己的方向

但弱者不一样,弱者会非常容易自然而然的选择那些最容易的、风险最低的选择。那么很显然,收益自然也最低。

而且更严重的是很多弱者他们之所以做出某个选择,是因为大家都这么选,就是他们第一时间是随大流,随大流不是说一定不对,但是很多时候你要想清楚为什么要随大流,就是你要有自己的一个方向,比起选择本身,选择的根据反而会更重要,但很多弱者他们根本就不知道自己想要的是什么,为什么这么选,这是非常可怕的。

当一个人选择了某个东西但是却不知道为何,只是随大流的时候,他就无法坚定的走下去,他就会很容易动摇。所以你会发现很多弱者三天打鱼两天晒网口头上信誓旦旦,但没多久就打退堂鼓。

最后一个强者和弱者的区别是什么,就体现在合作上

就是对于强者来说,他们会更多的追求那种公平合作,就是基于各自擅长的领域,进行公平的互利互惠,彼此提供价值。在这个过程中呢,大家更关注事情,那么事情做好了自然而然的会产生好的结果,好的结果就会产生感情

就是强者对这个东西他是看得很透彻的,他不会对感情有很多的寄托,他很清楚一段好的关系背后一定是有价值或者说利益支撑的。所以会先提供价值,先把事儿做好,合理的看待感情

但弱者不一样,弱者很多时候是相互内耗的。他们会擅长于在一块抱团取暖,但是如果谁比谁强了,他们又接受不了。就像我们说的,嫌你贫怕你富。

另一方面,大部分弱者他们更多时候眼里只有自己想要什么,没思考过别人要什么,别人的需求是什么,他们相互在索取着,但并不是合作着,这两者是有本质区别的。就是都想从别人那里获得更多的利益,却又不想着自己能提供什么价值,那最后这段关系肯定是不欢而散。

audio_video_streaming

 音视频流媒体权威资料整理,500+份文章,论文,视频,实践项目,协议,业界大神名单。

音视频流媒体权威资料整理,精选文章,学术论文,大佬视频,实践项目,开源框架,协议,业界大神一览.


—— 近年来热门、吃香、值得学习的技术方向


🏹【熟读兵法,搞定面试】50道音视频经典面试题

👁️【不想看文字,视频更直接】国内国外大佬教学视频

🗜【项目实战应用,日后100%要用到】N个经典开源项目


 

面试题


📰 文章

No. article
1 WebRTC 发送方码率预估实现解析
2 码率控制基本概念
3 Speex回声消除代码分析
4 房间声学原理与Schroeder混响算法实现
5 H264系列--压缩编码技术
6 RTSP 媒体协议流的录制方案及其覆盖策略详解
7 建立连接之ICE框架
8 流媒体协议介绍(rtp/rtcp/rtsp/rtmp/mms/hls)
9 音视频同步原理及实现
10 直播概念和流程框架
11 CDN在直播中的运用
12 常见音视频编码格式
13 H.264官方软件JM源代码分析-编码器lencod
14 H.264官方软件JM源代码分析-解码器ldecod
15 Android 音视频技术
16 Web前端WebRTC攻略-媒体协商与SDP简析
17 基于FFmpeg的AVfilter的例子-纯净版
18 WebRTC 传输安全机制第二话:深入显出 SRTP 协议
19 WebRTC能给我带来什么?
20 视音频数据处理:RGB、YUV像素数据处理
21 视音频数据处理:PCM音频采样数据处理
22 视音频数据处理:H.264视频码流解析
23 视音频数据处理:AAC音频码流解析
24 视音频数据处理:FLV封装格式解析
25 视音频数据处理:UDP-RTP协议解析
26 如何生成mp4文件
27 ffmpeg滤镜的基本使用
28 webRTC是如何实现音视频的录制
29 音视频同步算法
30 房间声学原理与Schroeder混响算法实现
31 一个频域语音降噪算法实现及改进方法
32 HEVC官方软件HM源代码分析-编码器TAppEncoder
33 HEVC官方软件HM源代码分析-解码器TAppDecoder
34 音视频编解码常用知识点
35 微信小程序集成实时音视频通话功能
36 视音频编解码技术零基础学习方法
37 RTSP协议学习
38 HEVC码流分析
39 H.264简单码流分析
40 MPEG2简单码流分析
41 视频码流分析工具
42 H.264分析器
43 FFmpeg架构之IO模块分析
44 (Video and Audio Data Processing)UDP-RTP协议解析
45 RTSP协议实例分析
46 RTSP协议之TCP或UDP问题
47 ffplay工具命令使用技巧
48 VLC RTSP网络串流播放失败
49 RTMP协议详解
50 STUN 原理理解

🌐 开源框架

实时音视频开源项目

实时音视频应用共包括几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。每一个细分环节,还有更细分的技术模块。
比如,前后处理环节有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有VP8、VP9、H.264、H.265等。

采集->前处理编码->传输->解码后处理->渲染

实时音视频开源项目思维导图 音视频开源项目说明

编解码开源项目
project website introduce
WebRTC webrtc.org WebRTC实现了基于网页的视频会议,标准是WHATWG 协议,目的是通过浏览器提供简单的javascript就可以达到实时通讯(Real-Time Communications (RTC))能力。WebRTC提供了视频会议的核心技术,包括音视频的采集、编解码、网络传输、显示等功能,并且还支持跨平台:windows,linux,mac,android。
x264 www.linuxfromscratch.org H.264是ITU(International Telecommunication Union,国际通信联盟)和MPEG(Motion Picture Experts Group,运动图像专家组)联合制定的视频编码标准。而x264是一个开源的H.264/MPEG-4 AVC视频编码函数库,是最好的有损视频编码器之一。
FFmpeg ffmpeg.org FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。FFmpeg提供了编码、解码、转换、封装等功能,以及剪裁、缩放、色域等后期处理。
ijkplayer bilibili/ijkplayer ijkplayer 是一个基于 ffplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电;提供Android平台下应用弹幕集成的解决方案。
JSMpeg jsmpeg.com JSMpeg is a Video Player written in JavaScript. It consists of an MPEG-TS Demuxer, WebAssembly MPEG1 Video & MP2 Audio Decoders, WebGL & Canvas2D Renderers and WebAudio Sound Output. JSMpeg can load static files via Ajax and allows low latency streaming (~50ms) via WebSocktes.
Opus opus.nlpl.eu Opus是一个有损声音编码的格式,由Xiph.Org基金会开发,之后由IETF(互联网工程任务组)进行标准化,目标是希望用单一格式包含声音和语音,取代Speex和Vorbis,且适用于网络上低延迟的即时声音传输,标准格式定义于RFC 6716文件。Opus格式是一个开放格式,使用上没有任何专利或限制。
live555 www.live555.com live555是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了标准流媒体传输,是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.263+ 、DV、JPEG视频和多种音频编码。
服务端开源项目
project website introduce
jitsi jitsi/jitsi Jitsi is an audio/video and chat communicator that supports protocols such as SIP, XMPP/Jabber, IRC and many other useful features.
JsSIP jssip.net JsSIP是一个简单易用的JavaScript库,它利用SIP和WebRTC的最新发展,在任何网站上提供全功能的SIP端点。通过JsSIP ,只要几行代码,任何网站都可以通过音频,视频等获得实时通信功能。
SRS www.ossrs.net SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRS。SRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、流截图、转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。SRS包含支大规模集群如CDN业务的关键特性,譬如RTMP多级集群、源站集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群、Kafka对接。此外,SRS还提供丰富的应用接口,包括HTTP回调、安全策略Security、HTTP API接口、RTMP测速。
JRTPLIB j0r1/JRTPLIB jrtplib是一个基于C++、面向对象的RTP封装库, jrtplib支持定义于RFC3550中的RTP协议,它使得发送和接收RTP报文变得异常简单,用户不用担心SSRC冲突,也不用考虑如何传输RTCP数据,因为RTCP功能完全在内部实现。
OPAL opalvoip Open Phone Abstraction Library (OPAL) is a C++ multi-platform, multi-protocol library for Fax, Video & Voice over IP and other networks. Also included is the Portable Tool Library (PTLib) which is a C++ multi-platform abstraction library.
Kurento www.kurento.org Kurento 是一个WebRTC流媒体服务器以及一些客户端API,开发WWW及智能手机平台的高级视频应用就变得更加容易。可以利用Kurento开发的应用类型包括,视频会议,音视频广播,音视频录制、转码等。
Janus janus.conf.meetecho.com Janus 是由Meetecho设计和开发的开源、通用的基于SFU架构的WebRTC流媒体服务器,它支持在Linux的服务器或MacOS上的机器进行编译和安装。
质量传输开源项目
project website introduce
callstats.io callstats Callstats.io致力于监控和管理WebRTC应用中的音频和视频通话性能。提供Javascript客户端库,可以监测浏览器终端性能,从而帮助服务供应商准确定位那些媒体质量较低的终端用户,并进行性能问题的诊断。该信息主要是用于产品经理和工程师来提高客户体验质量,主动解决潜在的瓶颈障碍。
Meetecho meetecho/janus-gateway Meetecho Janus是Meetecho公司的一款WebRTC(网页即时通信)服务器。
Agora agora.io 声网Agora提供了一套简单而强大的SDK,开发者可以利用其中的资源在任何手机或电脑应用中加入高清语音和视频通讯功能。
视频前后处理开源项目
音频
project website introduce
soundtouch soundtouch SoundTouch是一个开源的音频处理库,主要实现包含变速、变调、变速同时变调等三个 功能模块,能够对媒体流实时操作,也能对音频文件操作。采用32位浮点或者16位定点,支持单声道或者双声道,采样率范围为8k~48k。
视频
project website introduce
SeetaFace6 SeetaFace6Open SeetaFace6是中科视拓最新开源的商业正式版本。包含人脸识别的基本部分,如人脸检测、关键点定位、人脸识别。同时增加了活体检测、质量评估、年龄性别估计。并且响应时事,开放了口罩检测以及戴口罩的人脸识别模型。
GPUImage2 GPUImage2 GPUImage是个功能十分强大、又十分易用的图像处理库。提供各种各样的图像处理滤镜,并且支持照相机和摄像机的实时滤镜。
open nsfw open_nsfw open nsfw是雅虎开源项目caffeonspark,使用深度学习训练得到caffe模型。nsfw翻译为不可在工作中看的图片。主要是针对黄图的,恐怖,血腥图片不能识别。
PaddleGAN PaddleGAN PaddleGAN是百度飞桨团队开源的对抗网络工具箱,提供了视频超分、插帧、上色等高质量深度学习能力。

其他音视频开源项目

project website introduce
Speex xiph.org Speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式。
FLAC xiph.org FLAC中文可解释为无损音频压缩编码。FLAC是一套著名的自由音频压缩编码,其特点是无损压缩。不同于其他有损压缩编码如MP3及AAC,它不会破坏任何原有的音频信息,所以可以还原音乐光盘音质。
Xvid xvidmovies Xvid是一个开放源代码的MPEG-4视频编解码器,它是基于OpenDivX而编写的。
Lagarith lags.leetcode.net Lagarith,是一种由Ben Greenwood所撰写的影片编解码器(video codec)。
Thor wwww.thor.com Thor是思科开源的视频编码解码器,Thor拥有适当复杂度的高压缩率视频编码解码器,使用众所周知的 motion-compensated 预测的混合视频编码方法和变换编码。

🧿 视频

国外大神

No. title
1 如何使用FFMPEG将MP4视频文件转换为GIF
2 FFMPEG Introduction & Examples
3 Live Streaming with Nginx and FFmpeg
4 Ep2 Ffmpeg Nginx & Nginx-Rtmp-Module Streaming to Server
5 Streaming an IP Camera to a Web Browser using FFmpeg
6 Easy Screencasting and Webcamming with ffmpeg in Linux
7 Streaming an IP Camera to a Web Browser using FFmpeg
8 FFMPEG Advanced Techniques Pt2 - Filtergraphs & Timeline
9 Convert HEVCh265 mkv video to AVCh264 mp4 with ffmpeg
10 How to add soft subtitles( srt subrip) to mp4 video using ffmpeg
11 FFmpeg Processing multiple video files by using.bat file
12 Opensource Multimedia Framework -- FFmpeg
13 rtsp streaming node js ip camera jsmpeg
14 H.265 RTSP Streaming to VLC + NewTek NDI Integration
15 IP camera stream using RTSP and openCV python
16 NAT Traversal & RTSP
17 Simple client et serveur de Streaming RTSP MJPEG(JAVA SE)
18 Build Your First WebRTC Video Chat App
19 P2P Video Chat with JavaScript/WebRTC
20 Building a WebRTC app - LIVE
21 Zoom vs WebRTC
22 Architectures for a kickass WebRTC application
23 (REACT NATIVE) - integrate webRTC
24 How to build Serverless Video Chat App using Firebase and WebRTC in React
25 Implementation Lessons using WebRTC in Asterisk

国内大佬

No. title 地址
26 windows ffmpeg命令行环境搭建 点击学习
27 FFMPEG如何查询命令帮助文档 点击学习
28 ffmpeg音视频处理流程 点击学习
29 ffmpeg命令分类查询 点击学习
30 ffplay播放控制 点击学习
31 ffplay命令选项(上) 点击学习
32 ffplay命令选项(下) 点击学习
33 ffplay命令播放媒体 点击学习
34 ffplay简单过滤器 点击学习
35 ffmpeg命令参数说明 点击学习
36 ffmpeg命令提取音视频数据 点击学习
37 ffmpeg命令提取像素格式和PCM数据 点击学习
38 ffmpeg命令转封装 点击学习
39 fmpeg命令裁剪和合并视频 点击学习
40 fmpeg命令图片与视频互转 点击学习
41 ffmpeg命令视频录制 点击学习
42 ffmpeg命令直播(上) 点击学习
43 ffmpeg命令直播(下) 点击学习
44 ffmpeg过滤器-裁剪 点击学习
45 ffmpeg过滤器-文字水印 点击学习
46 ffmpeg过滤器-图片水印 点击学习
47 ffmpeg过滤器-画中画 点击学习
48 ffmpeg过滤器-多宫格 点击学习
49 SRS流媒体服务器实战(上) 点击学习
50 SRS流媒体服务器实战(下) 点击学习
51 音视频开发-ffplay.iikplayer、vlc的播放器设计实现 点击学习
52 音视频成长之路-进阶三部曲 点击学习
53 为什么直播领域也要搞WebRTC-srs4.0 点击学习
54 腾讯课堂直播如何做到低延迟 点击学习
55 rtmp2webrtc提出问题-灵魂拷问 点击学习

🍀 paper

ffmpeg

No. Title Company
1 《From Laptop to Lambda:Outsourcing Everyday Jobs to Thousands of Transient Functional Containers》 斯坦福大学
2 《SUSTAINABILITY THROUGH COMMUNITY ffmprovisr and the Case for Collaborative Knowledge Transfer》 华盛顿州立大学
3 《Companion Paper for “MiniView Layout for Bandwidth-Efficient 360-Degree Video”》 俄亥俄州立大学
4 《Research on Audio/Video Codec Based on Android》 北京大学
5 《Fuzzing Error Handling Code using Context-Sensitive Software Fault Injection》 清华大学
6 《Evaluating Fuzz Testing》 德克萨斯州大学
7 《lntel QuickSync Video and FFmpeg》 Intel
aac
No. Title Company
8 《TalkingBoogie: Collaborative Mobile AAC System for Non-verbal Children with Developmental Disabilities and Their Caregivers》 首尔国立大学
9 《The Performance Of The AAC Pumpcell Circuits At The Gold Fields Limited Driefontein And Kloof Operations》
ffplay
No. Title Company
10 《Sustainability through Community ffmprovisr and the Case for Collaborative Knowledge Transfer》 华盛顿大学
11 《Desarrollo de una Aplicación Cliente/Servidor para un Wall View en base a la Plataforma – Cruzada Opensource – FFMPEG (Colección de Software Libre que puede Grabar, Convertir y hacer Streaming de Audio y Vídeo)》
12 《Salsify: Low-Latency Network Video Through Tighter Integration Between a Video Codec and a Transport Protocol》 斯坦福大学
H264
No. Title Company
13 《Performance Comparison of H.265/MPEG-HEVC, VP9, and H.264/MPEG-AVC Encoders》
14 《3D range geometry video compression with the H.264 codec》 爱荷华州立大学
15 《PERFORMANCE EVALUATION OF H.265/MPEG-HEVC, VP9 AND H.264/MPEG AVC VIDEO CODING》
16 《Hardware Architecture Design of an H.264/AVC Video Codec》 国立台湾大学
17 《Evaluacióndelrendimiento paralelo en el nivelmacro bloque del decodificadorH.264enuna arquitecturamultiprocesador cc­NUMA》
18 《Machine Learning Approach to Detect Tampering in H.264 Video》
19 《Overview of the H.264/AVC Video Coding Standard》
20 《FAST SHOT DETECTION FOR HIGH QUALITY LOW DELAY H.264 VIDEO CODING》
21 《H.264 vs H.265》
22 《H.264 Video Frame Size estimation》 瑞典隆德大学
23 《The H.264/MPEG4 Advanced Video Coding Standard and its Applications》
24 《Real-time H264/AVC encoder based on enhanced frame level parallelism for smart multicore DSP camera》
25 《Visibility of individual packet loss on H.264 encoded video stream – A user study on the impact of packet loss on perceived video quality》
26 《Effective Compression of Range Data Streams for Remote Robot Operations using H.264》
27 《Parallel Scalability of H.264》 巴塞罗那超级计算中心
28 《The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions》
29 《Customizing Wide-SIMD Architectures for H.264》
30 《The H.264/MPEG4 Advanced Video Coding Standard and its Applications》

流媒体

RTSP
No. Title Company
31 《DREAM – A Data Streaming Application Using RTP/RTSP in a Local Area Network》
32 《The Architecture of an Integrated RTSP, RTP and SDP Library》
33 《Secure IPsec based offload architectures for mobile data : architecture description and performance evaluation》
34 《WebRTC for peer-to-peer streaming from an IP camera》
35 《A High Q&S RTSP Server’s Architecture and Implementation Based On Android》
36 《基于 gst-rtsp-server 的网络摄像机设计与实现》 北京邮电大学计算机学院
37 《A Caching and Streaming Framework for Multimedia》
38 《A Survey on open Source Protocols SIP, RTP, RTCP, RTSP, H.264 for Video Conferencing System》
39 《A Multimedia Semantic Model for RTSP-Based Multimedia Presentation Systems》
40 《AN ARCHITECTURE FOR STREAMING CONTROL IN DISTRIBUTED MULTIMEDIA SYSTEMS》
41 《Multimedia and streaming traffic analysis》
42 《RTP,RTCP, and RTSP — Internet Protocols for Real-Time Multimedia Communication》
43 《Secure Real-Time Streaming Protocol (RTSP) for Hierarchical Proxy Caching》 香港大学
44 《RTSP Live Streaming》
45 《Kria K26 SOM:The Ideal Platform for Vision AI at the Edge》
46 《Streaming Video over the Internet:Approaches and Directions》
rtmp
No. Title Company
47 《Live Delivery of Neurosurgical Operating Theatre Experience in Virtual Reality》
48 《Virtual Office Design For The Effectiveness Of Web_based Office Administration Works》
49 《Advancing User Quality of Experience in 360-degree Video Streaming》
50 《Extended User Control over Multichannel Content Delivered over the Web》
51 《A First Characterization of Anycast Traffic from Passive Traces》
52 《ELECTRICAL DISTRIBUTION NETWORKS STATE ESTIMATION》
53 《Cloud Ingest of Live Video – An open approach to RIST, SRT and retransmission protocols》
54 《E3: MANAGEMENT OF TRAFFIC DURING CONSTRUCTION》
55 《CAPTURING AND REPLAYING STREAMING MEDIA IN A WEB ARCHIVE – A BRITISH LIBRARY CASE STUDY》
56 《360° Innovations for Panoramic Video Streaming》
57 《Understanding Video Management Planes》
58 《Anatomy of a Personalized Livestreaming System》
59 《360-Degree Video Streaming: A Survey of the State of the Art》
HLS
No. Title Company
60 《A Survey and Evaluation of FPGA High-Level Synthesis Tools》
61 《Centrifuge: Evaluating full-system HLS-generated heterogeneous-accelerator SoCs using FPGA-Acceleration》
62 《ThunderGP: HLS-based Graph Processing Framework on FPGAs》
63 《HL5: A 32-bit RISC-V Processor Designed with High-Level Synthesis》

🧾 协议

HTTP

No. Title link
1 Hypertext Transfer Protocol -- HTTP/1.1 rfc2068.txt.pdf
2 An Extension to HTTP : Digest Access Authentication rfc2069.txt.pdf
3 Simple Hit-Metering and Usage-Limiting for HTTP rfc2227.txt.pdf
4 HTTP Extensions for Distributed Authoring -- WEBDAV rfc2518.txt.pdf
5 Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP rfc2585.txt.pdf
6 Upgrading to TLS Within HTTP/1.1 rfc2817.txt.pdf

RTP

No. Title link
7 RTP: A Transport Protocol for Real-Time Applications rfc1889.txt.pdf
8 RTP Profile for Audio and Video Conferences with Minimal Control rfc1890.txt.pdf
9 RTP Payload Format of Sun's CellB Video Encoding rfc2029.txt.pdf
10 RTP Payload Format for JPEG-compressed Video rfc2035.txt.pdf
11 RTP Payload Format for MPEG1/MPEG2 Video rfc2038.txt.pdf
12 RTP Payload for Redundant Audio Data rfc2198.txt.pdf
13 RTP Payload Format for MPEG1/MPEG2 Video rfc2250.txt.pdf
14 RTP Payload Format for the 1998 Version of ITU-T Rec. H.263 Video (H.263+) rfc2429.txt.pdf
15 RTP Payload Format for BT.656 Video Encoding rfc2431.txt.pdf
16 RTP Payload Format for JPEG-compressed Video rfc2435.txt.pdf
17 Compressing IP/UDP/RTP Headers for Low-Speed Serial Links rfc2508.txt.pdf
18 An RTP Payload Format for Generic Forward Error Correction rfc2733.txt.pdf
19 RTP Payload for Text Conversation rfc2793.txt.pdf
20 RTP Payload for DTMF Digits, Telephony Tones and Telephony Signals rfc2833.txt.pdf
21 RTP Payload Format for Real-Time Pointers rfc2862.txt.pdf
22 RTP Payload Format for MPEG-4 Audio/Visual Streams rfc3016.txt.pdf
23 RTP Payload Format for ITU-T Recommendation G.722.1 rfc3047.txt.pdf

RTSP

No. Title link
24 Real Time Streaming Protocol (RTSP) rfc2326.txt.pdf
25 Key Management Extensions for Session Description Protocol (SDP) and Real Time Streaming Protocol (RTSP) rfc4567.txt.pdf
26 A Network Address Translator (NAT) Traversal Mechanism for Media Controlled by the Real-Time Streaming Protocol (RTSP) rfc7825.txt.pdf
27 Real-Time Streaming Protocol Version 2.0 rfc7826.txt.pdf
28 SDP: Session Description Protocol rfc8866.pdf

TCP

No. Title link
29 Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods rfc1001.pdf
30 Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed specifications rfc1002.pdf
31 Transmission Control Protocol rfc793.pdf

UDP

No. Title link
32 Protocol standard for a NetBIOS service on a TCP/UDP transport: Concepts and methods rfc1001.pdf
33 Protocol standard for a NetBIOS service on a TCP/UDP transport: Detailed specifications rfc1002.pdf
34 SNMPv2 Management Information Base for the User Datagram Protocol using SMIv2 rfc2013.pdf
35 TCP and UDP over IPv6 Jumbograms rfc2147.pdf
36 Compressing IP/UDP/RTP Headers for Low-Speed Serial Links rfc2508.pdf
37 STUN - Simple Traversal of User Datagram Protocol (UDP) Through Network Address Translators (NATs) rfc3489.pdf
38 Mobile IP Traversal of Network Address Translation (NAT) Devices rfc3519.pdf
39 The Lightweight User Datagram Protocol (UDP-Lite) rfc3828.pdf
40 UDP Encapsulation of IPsec ESP Packets rfc3948.pdf
41 RObust Header Compression (ROHC): Profiles for User Datagram Protocol (UDP) Lite rfc4019.pdf
42 Management Information Base for the User Datagram Protocol (UDP) rfc4113.pdf
43 User Datagram Protocol rfc768.pdf

Gopher

No. Title link
44 The gopher URI Scheme rfc4266.pdf

SDP

No. Title link
45 SDP: Session Description Protocol rfc2327.pdf
46 The PINT Service Protocol: Extensions to SIP and SDP for IP Access to Telephone Call Services rfc2848.pdf
47 Carrying Label Information in BGP-4 rfc3107.pdf
48 An Offer/Answer Model with Session Description Protocol (SDP) rfc3264.pdf
49 Support for IPv6 in Session Description Protocol (SDP) rfc3266.pdf
50 Grouping of Media Lines in the Session Description Protocol (SDP) rfc3388.pdf
51 Session Description Protocol (SDP) Simple Capability Declaration rfc3407.pdf
52 The Session Initiation Protocol (SIP) and Session Description Protocol (SDP) Static Dictionary for Signaling Compression (SigComp) rfc3485.pdf
53 Mapping of Media Streams to Resource Reservation Flows rfc3524.pdf
54 Session Description Protocol (SDP) Bandwidth Modifiers for RTP Control Protocol (RTCP) Bandwidth rfc3556.pdf
55 RTP Control Protocol Extended Reports (RTCP XR) rfc3611.pdf
56 A Transport Independent Bandwidth Modifier for the Session Description Protocol (SDP) rfc3890.pdf
57 The Alternative Network Address Types (ANAT) Semantics for the Session Description Protocol (SDP) Grouping Framework rfc4091.pdf
58 TCP-Based Media Transport in the Session Description Protocol (SDP) rfc4145.pdf
59 RTP Payload Format for BroadVoice Speech Codecs rfc4298.pdf
60 SDP: Session Description Protocol rfc4566.pdf
61 Key Management Extensions for Session Description Protocol (SDP) and Real Time Streaming Protocol (RTSP) rfc4567.txt.pdf

Connection

No. Title link
62 The PPP OSI Network Layer Control Protocol (OSINLCP) rfc1242.txt.pdf

RTCP

No. Title link
63 RTP: A Transport Protocol for Real-Time Applications rfc1889.txt.pdf
64 Session Description Protocol (SDP) Bandwidth Modifiers for RTP Control Protocol (RTCP) Bandwidth rfc3556.txt.pdf
65 Real Time Control Protocol (RTCP) attribute in Session Description Protocol (SDP) rfc3605.txt.pdf
66 RTP Control Protocol Extended Reports (RTCP XR) rfc3611.txt.pdf
67 Framing Real-time Transport Protocol (RTP) and RTP Control Protocol (RTCP) Packets over Connection-Oriented Transport rfc4571.txt.pdf
68 Extended RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/AVPF) rfc4585.txt.pdf
69 RTP Retransmission Payload Format rfc4588.txt.pdf
70 Extended Secure RTP Profile for Real-time Transport Control Protocol (RTCP)-Based Feedback (RTP/SAVPF) rfc5124.txt.pdf
71 Support for Reduced-Size Real-Time Transport Control Protocol (RTCP): Opportunities and Consequences rfc5506.txt.pdf
72 Post-Repair Loss RLE Report Block Type for RTP Control Protocol (RTCP) Extended Reports (XRs) rfc5725.txt.pdf
73 RTP Control Protocol (RTCP) Extensions for Single-Source Multicast Sessions with Unicast Feedback rfc5760.txt.pdf
74 Datagram Transport Layer Security (DTLS) Extension to Establish Keys for the Secure Real-time Transport Protocol (SRTP) rfc5764.txt.pdf
75 Session Initiation Protocol Event Package for Voice Quality Reporting rfc6035.txt.pdf
76 Rapid Synchronisation of RTP Flows rfc6051.txt.pdf
77 RTP Control Protocol (RTCP) Port for Source-Specific Multicast (SSM) Sessions rfc6128.txt.pdf
78 Guidelines for Choosing RTP Control Protocol (RTCP) Canonical Names (CNAMEs) rfc6222.txt.pdf
79 Application Mechanism for Keeping Alive the NAT Mappings Associated with RTP / RTP Control Protocol (RTCP) Flows rfc6263.txt.pdf
80 Multicast Acquisition Report Block Type for RTP Control Protocol (RTCP) Extended Reports (XRs) rfc6332.txt.pdf
81 RTP Control Protocol (RTCP) Extension for a Third-Party Loss Report rfc6642.txt.pdf

🥌 实践项目

实现了多人语音/多人视频项目, 房间号Id一致,用户Id不一致,即可实现多人语音/多人视频。

ijkplayer 是一个基于 ffplay 的轻量级 Android/iOS 视频播放器。实现了跨平台功能,API易于集成;编译配置可裁剪,方便控制安装包大小;支持硬件加速解码,更加省电;提供Android平台下应用弹幕集成的解决方案。

仿网易云音乐 安卓版,netease android,音乐播放器 在线 下载。

Timber是一个设计漂亮,功能完善,Material Design风格的音乐播放器。

WebRTC初学者的启动演示,包括一个基于Socket.IO的简单信号服务器,以及一些客户端演示Web/Android/IOS/Windows平台。
WebRTC入门项目部署步骤

使用WebRTC getstats APL返回对等连接状态的微小JavaScript库,如带宽使用、数据包丢失、本地)远程IP地址和端口、连接类型等。

跨平台的视频播放器,可在Linux和其他类Unix系统、Windows及Mac OS X系统使用。

IOS平台基于FFMPEG播放器

Android/IOS平台上的多媒体框架,带有硬件加速解码和渲染.

YUV转RGB.

将TS流解码为PES或ES.(下载这个源码需要FQ)

跨平台的视频播放器。现在也有安卓版本。也可以作为流媒体服务器。

免费的编解码软件,基于windows平台。原因就是directshow就是微软开发的,只能用于windows平台。

这是一个专注音视频播放器的库,目前还在不断优化中。

视频下载SDK功能。

这是一个专注音视频边下边播的库。

夜雨飘零大佬撰写的基于《Baidu's Deep Speech 2 paper》论文深度学习语音识别实战项目。

Android OpenGLES 3.0 开发系统性学习教程。

Android OpenGL Camera 2.0 实现 30 种滤镜和抖音特效。

音视频学习,相关文件格式/协议分析,框架学习等。yuv h264 aac flv mp4 rtmp;libyuv x264 openh264 faac faad2 fdk-aac librtmp ffmpeg sdl2 webrtc

from  https://github.com/0voice/audio_video_streaming