tag:blogger.com,1999:blog-119622712024-03-14T01:00:43.645+08:00Jack's NoteJackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.comBlogger557125tag:blogger.com,1999:blog-11962271.post-47039337446502271642024-02-20T14:42:00.005+08:002024-02-20T16:13:16.193+08:00取出so 內function name<p> nm -D libmy.so | sed -n 's/^[0-9a-f]* [Tt] \(.*\)/\1/p'</p><p><br /></p><p></p><ol style="text-align: left;"><li>parsing name</li><ol><li> nm -D ./libmy.so | sed -n -e 's/^\([0-9a-f]*\) [Tt] \(.*\)/\2 \U\2/p' | sed -e 's/\([^ ]*\) *\([^_]*\)_.*/,\1, \2, 0},/'| nl|sed -e 's/^/{/'</li><li>//{num, name, define, bused}</li><ol><li>{ 27, mutual_exclusion_read_unlock, MUTUAL_EXCLUSION_READ, 0},</li></ol></ol><li>class out</li><ol><li> nm -D ./libmy.so | sed -n -e 's/^\([0-9a-f]*\) [Tt] \(.*\)/\2 \U\2/p' | sed -e 's/\([^ ]*\) *\([^_]*\)_.*/,\1, \2, 0},/'| nl|sed -e 's/^/{/' |awk -F ", " '{print $2}' | awk '!seen[$0]++'</li><li>VPI</li></ol><li>enum out</li><ol><li>nm -D ./libmy.so | sed -n -e 's/^\([0-9a-f]*\) [Tt] \(.*\)/\2 \U\2/p' | sed -e 's/\([^ ]*\) *\([^_]*\)_.*/,\1, \2, 0},/'| nl|sed -e 's/^/{/' |awk -F ", " '{print $2}' | awk '!seen[$0]++'| awk '{print $0 "=" NR-1 ","}'</li></ol></ol><p></p><li></li><ol style="text-align: left;"><ol><li>CGI=0,</li><li>EEPROM=1,</li><li>GET=2,</li><li>IPC=3,</li><li>MQ=4,</li><li>MUTUAL=5,</li><li>PRINTLOG=6,</li><li>PUT=7,</li></ol></ol><div><br /></div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-10704844183586606162024-02-17T14:04:00.000+08:002024-02-17T14:04:46.645+08:00docker qemu for cross compile<p><a href="https://www.robopenguins.com/cross-compiling/" rel="nofollow" target="_blank"> Testing Cross Compiling with QEMU</a></p><p><a href="https://blog.csdn.net/pengdonglin137/article/details/133006675?spm=1001.2101.3001.6650.8&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-133006675-blog-135377894.235%5Ev43%5Epc_blog_bottom_relevance_base9&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7ERate-8-133006675-blog-135377894.235%5Ev43%5Epc_blog_bottom_relevance_base9&utm_relevant_index=14" rel="nofollow" target="_blank">通过qemu和docker搭建交叉编译环境</a></p><p><a href="https://github.com/dockcross/dockcross?tab=readme-ov-file" rel="nofollow" target="_blank">dockcross</a></p>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-84196361437058631602024-02-16T17:15:00.001+08:002024-02-17T15:27:07.213+08:00CI/CD<a href="https://yu-jack.github.io/2020/02/17/ci-cd-jenkins/" rel="nofollow" target="_blank">CI/CD 實現 - bitbucket & Jenkins 篇</a><div><a href="https://chengweichen.com/2016/04/docker-gitlab-cigitlab-runner.html" rel="nofollow" target="_blank">用 Docker 架設 GitLab CI、GitLab Runner</a></div><div><a href="https://www.infoq.cn/article/9hscujuukmbbwjpr0p0g" rel="nofollow" target="_blank">CI/CD 工具选型:Jenkins 还是 GitLab CI/CD?</a></div><div><a href="https://docs.gitlab.com/runner/install/docker.html" rel="nofollow" target="_blank">Run GitLab Runner in a container</a></div><div><a href="https://support.atlassian.com/bitbucket-cloud/docs/set-up-and-use-runners-for-linux/" rel="nofollow" target="_blank">Set up runners for Linux Docker</a> (bitbucket)</div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-31783190222222121152023-11-13T17:31:00.006+08:002023-11-13T17:52:27.850+08:00modbus <p> </p><p><br /></p><p>簡介 Modbus TCP</p><p>https://fullstackladder.dev/blog/2022/11/07/introduction-modbustcp/</p><p><br /></p><p>第六章 Modbus 通訊方法及格式 </p><p>chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://www.cyei.com.tw/upload_files/services/03.pdf</p><p><br /></p><p><br /></p><p>modbus-rtu和modbus-tcp和modbus-rtu-Over-tcp/ip</p><div>https://blog.csdn.net/u010953880/article/details/124412909</div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-61631055576692768762023-11-09T15:04:00.002+08:002023-11-09T15:20:05.165+08:00哪個NVR錄影方案最適合你?<p> https://upsangel.com/security/home-security/ip-cam-nvr-synology-surveillance-zoneminder-shinobi-frigate/</p><h2 class="wp-block-heading" id="nvr" style="background-color: #fff6ff; border-bottom-color: rgb(160, 135, 176); border-bottom-style: solid; border-image: initial; border-left-color: rgb(140, 43, 94); border-left-style: solid; border-radius: 10px; border-right-color: initial; border-right-style: initial; border-top-color: initial; border-top-style: initial; border-width: 0px 0px 1px 12px; box-sizing: border-box; color: #4c4452; font-family: Helvetica, "Microsoft JhengHei", 微軟正黑體, Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 25px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; letter-spacing: 1.5px; line-height: 30px; margin: 55px 0px 31px; padding: 10px 30px 8px 20px; vertical-align: baseline; width: fit-content;"><a href="https://upsangel.com/security/home-security/ip-cam-nvr-synology-surveillance-zoneminder-shinobi-frigate/" rel="nofollow" target="_blank">哪個NVR錄影方案最適合你?</a></h2><div><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; color: #333333; font-family: Helvetica, "Microsoft JhengHei", 微軟正黑體, Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 18px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; letter-spacing: 1.5px; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Synology Surveillance Station</span>:上手難度最低,兼容性強,又有APP。缺點是Synology NAS價錢貴,Surveilance Station額外授權貴。</p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; color: #333333; font-family: Helvetica, "Microsoft JhengHei", 微軟正黑體, Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 18px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; letter-spacing: 1.5px; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">ZoneMinder</span>:最輕量級,依賴基本的算法,普通CPU能做到動態偵測錄影。適合基本NVR錄影功能,即使是老舊電腦,或者在Raspberry Pi等單板電腦上使用也沒問題。Proxmox等虛擬化系統也很好兼容。缺點是項目已經邁入老年期,不要指望有新功能。</p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; color: #333333; font-family: Helvetica, "Microsoft JhengHei", 微軟正黑體, Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 18px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; letter-spacing: 1.5px; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Shinobi</span>:安裝簡單。但是設置界面不友善,功能調試我的經驗有明顯缺失。</p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; color: #333333; font-family: Helvetica, "Microsoft JhengHei", 微軟正黑體, Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 18px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; letter-spacing: 1.5px; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="border: 0px; box-sizing: border-box; font-family: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: inherit; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: 700; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;">Frigate</span>:整合了Object Detection 的AI識別功能,適合想玩AI識別、再聯動IoT、智能家居的用家。留意AI功能對CPU/GPU要求高。安裝方法較很很繁瑣。</p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="color: #333333; font-family: Helvetica, Microsoft JhengHei, 微軟正黑體, Arial, sans-serif;"><span style="font-size: 18px; letter-spacing: 1.5px;"><br /></span></span></p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="color: #333333; font-family: Helvetica, Microsoft JhengHei, 微軟正黑體, Arial, sans-serif;"><span style="font-size: 18px; letter-spacing: 1.5px;"><a href="https://github.com/blakeblackshear/frigate/pull/8382/files" rel="nofollow" target="_blank">Initial support for rockchip boards</a></span></span></p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="color: #333333; font-family: Helvetica, "Microsoft JhengHei", 微軟正黑體, Arial, sans-serif;">## Rockchip RKNN-Toolkit-Lite2</span></p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="color: #333333; font-family: Helvetica, Microsoft JhengHei, 微軟正黑體, Arial, sans-serif;">This detector is only available if one of the following Rockchip SoCs is used:</span></p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="color: #333333; font-family: Helvetica, Microsoft JhengHei, 微軟正黑體, Arial, sans-serif;">- RK3566/RK3568</span></p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="color: #333333; font-family: Helvetica, Microsoft JhengHei, 微軟正黑體, Arial, sans-serif;">- RK3588/RK3588S</span></p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="color: #333333; font-family: Helvetica, Microsoft JhengHei, 微軟正黑體, Arial, sans-serif;">- RV1103/RV1106</span></p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="color: #333333; font-family: Helvetica, Microsoft JhengHei, 微軟正黑體, Arial, sans-serif;"></span></p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><span style="color: #333333; font-family: Helvetica, Microsoft JhengHei, 微軟正黑體, Arial, sans-serif;">- RK3562</span></p><p style="background-color: #fffefc; border: 0px; box-sizing: border-box; color: #333333; font-family: Helvetica, "Microsoft JhengHei", 微軟正黑體, Arial, sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 18px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; letter-spacing: 1.5px; line-height: inherit; margin: 0px 0px 31px; padding: 0px; vertical-align: baseline;"><br /></p></div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-18280612892561071092023-11-09T15:03:00.000+08:002023-11-09T15:03:01.550+08:00ffmpeg fectch video from pipe element stream <p><a href="https://bashell.nodemedia.cn/archives/decoding-private-transport-protocol-standard-h264-stream-using-ffmpeg.html" rel="nofollow" target="_blank"> 使用FFmpeg解码私有传输协议标准H264流</a></p><p><br /></p><p><a href="https://superuser.com/questions/1676797/how-to-convince-ffmpeg-that-input-is-raw-h264" rel="nofollow" target="_blank">How to convince ffmpeg that input is raw H264?</a></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px 0px 1.1em; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;">ffmpeg -f h264 -i avcfile.h264 -c copy out.mp4</code></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;">somenetworkstreamer | ffmpeg -f h264 -i pipe: -c copy out.mp4</code></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"><br /></code></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"><br /></code></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"><span style="color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif;"><a href="https://www.appsloveworld.com/c/100/95/create-a-video-streaming-server-from-a-raw-h-264-frame-stream" rel="nofollow" target="_blank">[SOLVED]-CREATE A VIDEO-STREAMING SERVER FROM A RAW H.264 FRAME STREAM-C</a></span></code></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"><br /></code></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"></code></p><pre style="background: none 0% 0% / auto rgba(105, 105, 105, 0.1); box-sizing: border-box; color: #212529; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: 14px; margin-bottom: 1rem; margin-top: 0px; overflow: auto; padding: 15px 20px; text-wrap: wrap;"><code style="box-sizing: border-box; color: inherit; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: inherit; word-break: normal;">ffmpeg -f h264 -i pipe: -c copy -f mp4 -movflags frag_keyframe+empty_moov pipe:
</code></pre><div><code style="box-sizing: border-box; color: inherit; font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; font-size: inherit; word-break: normal;"><pre style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-caret-color: var(--theme-footer-background-color); --theme-footer-link-color-active: hsl(27,89%,48%); --theme-footer-link-color-hover: hsl(210,8%,68%); --theme-footer-link-color: hsl(210,8%,68%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: hsl(210,9%,75%); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border-radius: var(--br-md); border: 0px; box-sizing: inherit; color: #0c0d0e; font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--fs-body1); font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: var(--lh-md); margin-bottom: calc(1.5em); margin-top: 0px; max-height: 600px; overflow-wrap: normal; overflow: auto; padding: var(--su12); vertical-align: baseline; width: auto;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 27; --theme-base-primary-color-l: 48%; --theme-base-primary-color-s: 89%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: initial; --theme-button-color: initial; --theme-button-hover-background-color: initial; --theme-button-hover-color: initial; --theme-button-outlined-border-color: initial; --theme-button-outlined-selected-border-color: initial; --theme-button-primary-active-background-color: initial; --theme-button-primary-active-color: initial; --theme-button-primary-background-color: initial; --theme-button-primary-color: initial; --theme-button-primary-hover-background-color: initial; --theme-button-primary-hover-color: initial; --theme-button-primary-selected-background-color: initial; --theme-button-primary-selected-color: initial; --theme-button-selected-background-color: initial; --theme-button-selected-color: initial; --theme-content-background-color: var(--white); --theme-content-border-color: var(--black-225); --theme-footer-background-border-top: 0; --theme-footer-background-color: hsl(210,8%,5%); --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,25%); --theme-footer-link-caret-color: var(--theme-footer-background-color); --theme-footer-link-color-active: hsl(27,89%,48%); --theme-footer-link-color-hover: hsl(210,8%,68%); --theme-footer-link-color: hsl(210,8%,68%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: hsl(210,9%,75%); --theme-header-background-border-bottom: 0; --theme-header-background-color: var(--theme-primary); --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsla(0,0%,100%,0.4); --theme-link-color-hover: initial; --theme-link-color-visited: initial; --theme-link-color: initial; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-secondary-100); --theme-post-owner-new-background-color: var(--theme-secondary-200); --theme-post-title-color-hover: var(--theme-link-color-hover); --theme-post-title-color-visited: var(--theme-link-color-visited); --theme-post-title-color: var(--theme-link-color); --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: initial; --theme-tag-border-color: initial; --theme-tag-color: initial; --theme-tag-hover-background-color: initial; --theme-tag-hover-border-color: initial; --theme-tag-hover-color: initial; --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: 1px solid var(--black-225); border-radius: 0px; border: 0px; box-sizing: inherit; color: var(--black-600); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline; white-space: inherit;">cat file.mp3 | ffmpeg -f mp3 -i pipe: -c:a pcm_s16le -f s16le pipe:</code></pre></code></div><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; color: var(--black-600); font-family: var(--ff-mono); font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: var(--_pr-code-fs); font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"><br /></code></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"><span style="color: #0c0d0e; font-family: -apple-system, BlinkMacSystemFont, Segoe UI Adjusted, Segoe UI, Liberation Sans, sans-serif;"><a href="https://ffmpeg.org/ffmpeg-protocols.html#pipe">https://ffmpeg.org/ffmpeg-protocols.html#pipe</a></span></code></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;">This protocol accepts the following options:
blocksize
Set I/O operation maximum block size, in bytes. Default value is INT_MAX, which results in not limiting the requested block size. Setting this value reasonably low improves user termination request reaction time, which is valuable if data transmission is slow.
fd
Set file descriptor</code></p><p style="--_pr-img-mb: 0; --theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: white; border: 0px; box-sizing: inherit; clear: both; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: 0px; vertical-align: baseline;"><code style="--theme-background-attachment: auto; --theme-background-color: var(--white); --theme-background-position: top left; --theme-background-repeat: repeat; --theme-background-size: auto; --theme-base-primary-color-h: 198; --theme-base-primary-color-l: 51.37254902%; --theme-base-primary-color-s: 60.48387097%; --theme-body-font-color: var(--black-600); --theme-body-font-family: var(--ff-sans); --theme-button-active-background-color: var(--theme-primary-200); --theme-button-color: var(--theme-primary); --theme-button-hover-background-color: var(--theme-primary-100); --theme-button-hover-color: var(--theme-primary-400); --theme-button-outlined-border-color: var(--theme-primary-400); --theme-button-outlined-selected-border-color: var(--theme-primary-500); --theme-button-primary-active-background-color: var(--theme-primary-600); --theme-button-primary-active-color: var(--white); --theme-button-primary-background-color: var(--theme-primary-400); --theme-button-primary-color: var(--white); --theme-button-primary-hover-background-color: var(--theme-primary-500); --theme-button-primary-hover-color: var(--white); --theme-button-primary-selected-background-color: var(--theme-primary-600); --theme-button-primary-selected-color: var(--white); --theme-button-selected-background-color: var(--theme-primary-300); --theme-button-selected-color: var(--theme-primary-600); --theme-content-background-color: var(--white); --theme-content-border-color: hsl(210,8%,90%); --theme-footer-background-border-top: 0; --theme-footer-background-color: transparent; --theme-footer-background-position: top left; --theme-footer-background-repeat: no-repeat; --theme-footer-background-size: auto; --theme-footer-divider-color: hsl(210,8%,90%); --theme-footer-link-caret-color: hsl(0,0%,100%); --theme-footer-link-color-active: #0082A3; --theme-footer-link-color-hover: hsl(210,8%,5%); --theme-footer-link-color: hsl(210,8%,25%); --theme-footer-padding-bottom: 0; --theme-footer-padding-top: 0; --theme-footer-text-color: hsl(210,8%,68%); --theme-footer-title-color: #0082A3; --theme-header-background-border-bottom: 0; --theme-header-background-color: transparent; --theme-header-background-position: center left; --theme-header-background-repeat: repeat; --theme-header-background-size: auto; --theme-header-foreground-color: transparent; --theme-header-foreground-position: bottom right; --theme-header-foreground-repeat: no-repeat; --theme-header-foreground-size: auto; --theme-header-link-color: var(--theme-primary); --theme-header-sponsored-color: hsl(210,8%,25%); --theme-link-color-hover: #61b4d8; --theme-link-color-visited: #50AEC6; --theme-link-color: #38A1CE; --theme-post-body-font-family: var(--ff-sans); --theme-post-owner-background-color: var(--theme-primary-100); --theme-post-owner-new-background-color: var(--theme-primary-200); --theme-post-title-color-hover: rgba(56,161,206,0.8); --theme-post-title-color-visited: #50AEC6; --theme-post-title-color: #38A1CE; --theme-post-title-font-family: var(--ff-sans); --theme-primary-custom-100: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .9))); --theme-primary-custom-200: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .75))); --theme-primary-custom-300: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + ((100% - var(--theme-base-primary-color-l)) * .5))); --theme-primary-custom-400: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), var(--theme-base-primary-color-l)); --theme-primary-custom-500: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.3))); --theme-primary-custom-600: hsl(var(--theme-base-primary-color-h), var(--theme-base-primary-color-s), calc(var(--theme-base-primary-color-l) + (var(--theme-base-primary-color-l) * -.6))); --theme-primary-custom: var(--theme-primary-custom-400); --theme-tag-background-color: var(--theme-secondary-100); --theme-tag-border-color: transparent; --theme-tag-color: var(--theme-secondary-500); --theme-tag-hover-background-color: var(--theme-secondary-200); --theme-tag-hover-border-color: transparent; --theme-tag-hover-color: var(--theme-secondary-600); --theme-tag-required-background-color: var(--theme-secondary-500); --theme-tag-required-border-color: transparent; --theme-tag-required-color: var(--white); --theme-tag-required-hover-background-color: var(--theme-secondary-400); --theme-tag-required-hover-border-color: transparent; --theme-tag-required-hover-color: var(--white); --theme-topbar-bottom-border: none; background-color: var(--black-200); border-radius: var(--br-sm); border: 0px; box-sizing: inherit; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 15px; font-stretch: inherit; font-variant-alternates: inherit; font-variant-east-asian: inherit; font-variant-numeric: inherit; font-variant-position: inherit; font-variation-settings: inherit; line-height: inherit; margin: 0px; padding: var(--su2) var(--su4); vertical-align: baseline; white-space-collapse: preserve;"><span style="background-color: #303030; color: #e6e6e6; font-family: "Lucida Grande", "Lucida Sans Unicode", "Lucida Sans", "Helvetica Neue", Helvetica, Verdana, Tahoma, sans-serif; font-size: 14px; text-align: justify; white-space-collapse: collapse;">Note that some formats (typically MOV), require the output protocol to be seekable, so they will fail with the pipe output protocol.</span></code></p>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-51126587786852803092023-11-03T13:56:00.002+08:002023-11-03T13:56:15.594+08:00open source license<p> https://www.openfoundry.org/tw/comparison-of-licenses</p><p><span lang="EN-US" style="color: #1f497d; font-family: "Calibri",sans-serif; font-size: 14.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: 新細明體; mso-fareast-language: ZH-TW;"><a href="https://choosealicense.com/licenses/apache-2.0/">https://choosealicense.com/licenses/apache-2.0/</a> </span></p><p><span lang="EN-US" style="color: #1f497d; font-family: "Calibri",sans-serif; font-size: 14.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: 新細明體; mso-fareast-language: ZH-TW;"><span lang="EN-US" style="background: white; color: #385723; font-size: 14pt;"><a href="https://ossf.denny.one/tw/legal-column-list/8950-obligations-of-apache-20.html"><span style="color: black;">https://ossf.denny.one/tw/legal-column-list/8950-obligations-of-apache-20.html</span></a></span></span></p><p><span lang="EN-US" style="color: #1f497d; font-family: "Calibri",sans-serif; font-size: 14.0pt; mso-ansi-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-font-family: 新細明體; mso-fareast-language: ZH-TW;"><span lang="EN-US" style="font-size: 14pt;"><a href="https://www.apache.org/foundation/license-faq.html%23Must-Contribute">https://www.apache.org/foundation/license-faq.html#Must-Contribute</a></span></span></p>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-88679043816924460682023-09-13T17:16:00.001+08:002023-09-13T17:16:06.094+08:00安裝 ARM toolchain (2016 年版)<h1 class="title" style="background-color: #c0a154; color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 60px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; font-weight: normal; line-height: normal; margin: 0px 0px 10px; position: relative; text-shadow: rgba(0, 0, 0, 0.1) 2px 2px;"><a href="http://pominglee.blogspot.com/" style="color: white; text-decoration-line: none;">Dr. Lee's blog</a></h1><p> </p><h3 class="post-title entry-title" itemprop="name" style="background-color: #c0a154; color: #333333; font-family: Georgia, Utopia, "Palatino Linotype", Palatino, serif; font-feature-settings: normal; font-kerning: auto; font-optical-sizing: auto; font-size: 30px; font-stretch: normal; font-variant-alternates: normal; font-variant-east-asian: normal; font-variant-numeric: normal; font-variation-settings: normal; font-weight: normal; line-height: normal; margin: 0px; position: relative;">安裝 ARM toolchain (2016 年版)</h3><div class="post-header" style="background-color: #c0a154; color: #997755; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12.88px; line-height: 1.6; margin: 0px 0px 1em;"><div class="post-header-line-1"></div></div><p>http://pominglee.blogspot.com/2016/10/arm-toolchain-2016.html</p>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-17837140404951584632023-08-28T14:18:00.000+08:002023-08-28T14:18:16.771+08:00Security.World’s Top 10 Vertical Leaders<p> Security.World’s Top 10 Vertical Leaders</p><p>https://security.world/securityworld-top10-vertical-leaders/</p><p><br /></p><h1 class="page-title" style="background-color: white; box-sizing: border-box; font-family: Ubuntu, sans-serif; font-size: 38.5px; line-height: 1.1; margin: 20px 0px 0px;">Storage and Network Bandwidth Calculators</h1><div>https://security.world/storage-network-bandwidth-calculators/</div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-22490590980736637972023-08-28T14:01:00.003+08:002023-12-14T16:49:59.904+08:00基於AI的視訊降噪器瞄準低光照明應用<p></p><ol style="text-align: left;"><li> Github survey:</li><ol><li> <a href="https://github.com/dawnlh/awesome-low-light-image-enhancement">https://github.com/dawnlh/awesome-low-light-image-enhancement</a></li></ol><li>Dual illumination estimation for robust exposure correction:</li><ol><li><span> </span> <a href="https://github.com/pvnieo/Low-light-Image-Enhancement">https://github.com/pvnieo/Low-light-Image-Enhancement</a></li></ol></ol><p></p><p><br /></p><p><span face="system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="background-color: white; color: #333333; font-size: 28px; font-weight: 600;">Reference:</span></p><ol style="text-align: left;"><li><a href="https://www.eettaiwan.com/20230302nt31-visionary-ai-introduces-video-denoiser-for-low-light-conditions/?utm_source=EETT%20Article%20Alert&utm_medium=Email&utm_campaign=2023-03-03" rel="nofollow" target="_blank">基於AI的視訊降噪器瞄準低光照明應用:</a></li><ol><li>耶路撒冷的以色列Visionary.ai公司開發了基於AI的軟體演算法該公司是邊緣AI和視覺聯盟(Edge AI and Vision Alliance)的成員,該聯盟還包括ARM和BrainChip等知名公司。Visionary.ai基於軟體的ISP <span face="system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="background-color: white; color: #212529; font-size: 16px;">(參考原文:</span><a href="https://www.eetimes.eu/visionary-ai-introduces-video-denoiser-for-low-light-conditions/" style="background-color: white; box-sizing: border-box; color: #0d6efd; font-family: "Open Sans Condensed", sans-serif; font-size: 16px;">Visionary.ai Introduces Video Denoiser for Low-light Conditions</a><span face="system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"" style="background-color: white; color: #212529; font-size: 16px;">,by Saumitra Jagdale)</span></li></ol></ol><div class="detail content-white" style="align-items: center; background: rgb(255, 255, 255); box-sizing: border-box; color: #212529; display: flex; font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; padding: 0px 20px;"><div class="detail-list" style="align-items: center; box-sizing: border-box; display: flex;"></div></div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-41375372298421143942023-08-25T15:17:00.003+08:002023-08-25T15:17:24.591+08:00ONVIF_Device_TestTool_v18.06_rev4008.zip <p> <a href="http://ftp.hikvision.ru/02.%20Software/03.%203rd%20party%20tools/Onvif%20Device%20Test%20Tool/ONVIF_Device_TestTool_v18.06_rev4008.zip">ONVIF_Device_TestTool_v18.06_rev4008.zip</a></p><p>http://ftp.hikvision.ru/02.%20Software/03.%203rd%20party%20tools/Onvif%20Device%20Test%20Tool/</p>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-82905546355725095362023-08-11T14:11:00.006+08:002023-08-11T14:11:54.292+08:00(Congestion Detection)<a href="https://notfalse.net/28/tcp-congestion-control">TCP 壅塞控制 (Congestion Control)</a><div><span class="author flex-self-stretch" itemprop="author" style="align-self: stretch !important; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 20px;"><a class="url fn" data-hovercard-type="user" data-hovercard-url="/users/hongzimao/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hongzimao" rel="author" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">hongzimao</a></span><span class="mx-1 flex-self-stretch color-fg-muted" style="align-self: stretch !important; background-color: #f6f8fa; box-sizing: border-box; color: var(--fgColor-muted, var(--color-fg-muted)) !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 20px; margin-left: var(--base-size-4, 4px) !important; margin-right: var(--base-size-4, 4px) !important;">/</span><span class="mr-2 flex-self-stretch" itemprop="name" style="align-self: stretch !important; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 20px; font-weight: var(--base-text-weight-semibold, 600); margin-right: var(--base-size-8, 8px) !important;"><a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="https://github.com/hongzimao/pensieve" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">pensieve</a></span><span style="background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 20px;"></span></div><div>http://web.mit.edu/pensieve/</div><div><br /></div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-42589346641083445232023-05-16T11:00:00.005+08:002023-05-16T11:00:50.205+08:00TWCC VBR drop RTCP<p><a href="https://www.jianshu.com/p/5d6e802e86ac" target="_blank"> WebRTC动态码率-基于transport wide cc的延迟码率估计原理(一)</a></p><p><a href="https://www.jianshu.com/p/a3310e5d3768" target="_blank">WebRTC动态码率-基于丢包的码率估计原理</a></p>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-3160595524908787972023-05-05T10:39:00.004+08:002023-05-05T10:39:25.966+08:00how to enable adb tool in L5.4.3_1.0.0 of imx6qpsaredsd<p> </p><h1 class="PageTitle lia-component-common-widget-page-title" style="background-color: #f6f7f8; box-sizing: border-box; color: #20272d; font-family: "Nunito Sans", Arial, Helvetica, sans-serif; font-size: 40px; line-height: 1.1; margin: 0px; overflow-wrap: break-word; word-break: break-word;"><span class="lia-link-navigation lia-link-disabled" style="box-sizing: border-box; display: inline-block; font-family: Nunito, Arial, sans-serif; line-height: 1.2; width: 1080px;">how to enable adb tool in L5.4.3_1.0.0 of imx6qpsaredsd</span></h1><p>https://elinux.org/images/e/ef/USB_Gadget_Configfs_API_0.pdf</p><p>https://community.nxp.com/t5/i-MX-Processors/how-to-enable-adb-tool-in-L5-4-3-1-0-0-of-imx6qpsaredsd/m-p/1066983</p><p><br /></p><p style="background-color: white; box-sizing: border-box; color: #333f48; font-family: Arial, sans-serif; font-size: 16px; margin: 0px 0px 15px;">You need to include the "android-tools" in your build recipe</p><p style="background-color: white; box-sizing: border-box; color: #333f48; font-family: Arial, sans-serif; font-size: 16px; margin: 0px 0px 15px;"> </p><pre class="lia-code-sample language-javascript" style="background: rgb(245, 242, 240); border-radius: 5px; border: 1px solid rgb(204, 204, 204); box-shadow: none; box-sizing: border-box; font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace; font-size: 15px; hyphens: none; line-height: 1.71429; margin-bottom: 0.5em; margin-top: 0.5em; overflow-wrap: break-word; overflow: auto; padding: 13px; tab-size: 4; text-shadow: rgb(255, 255, 255) 0px 1px; white-space: pre-wrap; word-break: break-all;"><code class=" language-javascript" style="background-color: transparent; border-radius: 0px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: inherit; padding: 0px;">IMAGE_INSTALL <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">+</span><span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">=</span> <span class="token string" style="box-sizing: border-box; color: #669900;">"\
android-tools \
"</span></code></pre><p style="background-color: white; box-sizing: border-box; color: #333f48; font-family: Arial, sans-serif; font-size: 16px; margin: 0px 0px 15px;"> </p><p style="background-color: white; box-sizing: border-box; color: #333f48; font-family: Arial, sans-serif; font-size: 16px; margin: 0px 0px 15px;">The device adb daemon "adbd" uses kernel USB gadget config for communication.</p><p style="background-color: white; box-sizing: border-box; color: #333f48; font-family: Arial, sans-serif; font-size: 16px; margin: 0px 0px 15px;">The Linux kernel USB Gadget Configfs interface should be used to configure the required function (adb or adb+acm or other)</p><p style="background-color: white; box-sizing: border-box; color: #333f48; font-family: Arial, sans-serif; font-size: 16px; margin: 0px 0px 15px;">USB Gadget configs interface explained <a href="https://elinux.org/images/e/ef/USB_Gadget_Configfs_API_0.pdf" rel="nofollow noopener noreferrer" style="background-color: transparent; box-sizing: border-box; color: #215bd6;" target="_self">here USB_Gadget_Configfs_API</a> </p><p style="background-color: white; box-sizing: border-box; color: #333f48; font-family: Arial, sans-serif; font-size: 16px; margin: 0px 0px 15px;">Below is an example USB Gadget configuration:</p><pre class="lia-code-sample language-javascript" style="background: rgb(245, 242, 240); border-radius: 5px; border: 1px solid rgb(204, 204, 204); box-shadow: none; box-sizing: border-box; font-family: Consolas, Monaco, "Andale Mono", "Ubuntu Mono", monospace; font-size: 15px; hyphens: none; line-height: 1.71429; margin-bottom: 0.5em; margin-top: 0.5em; overflow-wrap: break-word; overflow: auto; padding: 13px; tab-size: 4; text-shadow: rgb(255, 255, 255) 0px 1px; white-space: pre-wrap; word-break: break-all;"><code class=" language-javascript" style="background-color: transparent; border-radius: 0px; box-sizing: border-box; color: inherit; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: inherit; padding: 0px;">mount <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>t configfs none <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config
mkdir <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>p <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1
#USB <span class="token number" style="box-sizing: border-box; color: #990055;">2.0</span>
echo <span class="token number" style="box-sizing: border-box; color: #990055;">0x0200</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>bcdUSB
#Instantiate English strings
mkdir <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>p <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>strings<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span><span class="token number" style="box-sizing: border-box; color: #990055;">0x409</span>
echo <span class="token number" style="box-sizing: border-box; color: #990055;">1</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>os_desc<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>use <span class="token number" style="box-sizing: border-box; color: #990055;">1</span>
#Configure VID<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>PID<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>ProductName<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>Serial <span class="token punctuation" style="box-sizing: border-box; color: #999999;">(</span>replace <span class="token keyword" style="box-sizing: border-box; color: #0077aa;">with</span> your vid<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>pid<span class="token punctuation" style="box-sizing: border-box; color: #999999;">)</span>
echo <span class="token string" style="box-sizing: border-box; color: #669900;">"0x1d6b"</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>idVendor
echo <span class="token string" style="box-sizing: border-box; color: #669900;">"0x0104"</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>idProduct
echo <span class="token string" style="box-sizing: border-box; color: #669900;">"0123456789"</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>strings<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span><span class="token number" style="box-sizing: border-box; color: #990055;">0x409</span><span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>serialnumber
echo <span class="token string" style="box-sizing: border-box; color: #669900;">"Foo Inc"</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>strings<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span><span class="token number" style="box-sizing: border-box; color: #990055;">0x409</span><span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>manufacturer
echo <span class="token string" style="box-sizing: border-box; color: #669900;">"Bar Prod"</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>strings<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span><span class="token number" style="box-sizing: border-box; color: #990055;">0x409</span><span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>product
#Create <span class="token function" style="box-sizing: border-box; color: #dd4a68;">Function</span><span class="token punctuation" style="box-sizing: border-box; color: #999999;">(</span>s<span class="token punctuation" style="box-sizing: border-box; color: #999999;">)</span> <span class="token function" style="box-sizing: border-box; color: #dd4a68;">Instance</span><span class="token punctuation" style="box-sizing: border-box; color: #999999;">(</span>s<span class="token punctuation" style="box-sizing: border-box; color: #999999;">)</span>
mkdir <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>p <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>functions<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>ffs<span class="token punctuation" style="box-sizing: border-box; color: #999999;">.</span>adb
mkdir <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>p <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>configs<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>b<span class="token number" style="box-sizing: border-box; color: #990055;">.1</span>
mkdir <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>p <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>configs<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>b<span class="token number" style="box-sizing: border-box; color: #990055;">.1</span><span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>strings<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span><span class="token number" style="box-sizing: border-box; color: #990055;">0x409</span>
echo <span class="token string" style="box-sizing: border-box; color: #669900;">"ffs.adb"</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>configs<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>b<span class="token number" style="box-sizing: border-box; color: #990055;">.1</span><span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>strings<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span><span class="token number" style="box-sizing: border-box; color: #990055;">0x409</span><span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>configuration
#Bind functions
ln <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>s <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>functions<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>ffs<span class="token punctuation" style="box-sizing: border-box; color: #999999;">.</span>adb <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>configs<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>b<span class="token number" style="box-sizing: border-box; color: #990055;">.1</span>
mkdir <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>p <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>dev<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>ffs
mkdir <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>p <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>dev<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>ffs<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>adb
mount <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>t functionfs adb <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>dev<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>ffs<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>adb
#Start adbd daemon
start<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>stop<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">-</span>daemon <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">--</span>start <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">--</span>background <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">--</span>oknodo <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">--</span>quiet <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">--</span>exec <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usr<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>bin<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>adbd
echo <span class="token number" style="box-sizing: border-box; color: #990055;">0x1</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>sys<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>kernel<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>os_desc<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>b_vendor_code
#Attach created gadget device to the UDC driver
#UDC driver name obtained <span class="token keyword" style="box-sizing: border-box; color: #0077aa;">from</span> <span class="token string" style="box-sizing: border-box; color: #669900;">"ls /sys/class/udc/"</span>
echo ci_hdrc<span class="token number" style="box-sizing: border-box; color: #990055;">.0</span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">></span> <span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>config<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>usb_gadget<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>g1<span class="token operator" style="background: rgba(255, 255, 255, 0.5); box-sizing: border-box; color: #a67f59;">/</span>UDC</code></pre>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-35334827224122511512023-04-25T15:55:00.008+08:002023-04-27T14:36:16.609+08:00纯C嵌入式webrtc开发库metaRTC VS AWS KVS<p> </p><h1 class="metas-title" style="background-color: white; box-sizing: border-box; color: #444444; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", Helvetica, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Source Han Sans CN", sans-serif; font-size: 1.65em; font-weight: 500; line-height: 1.45; margin: 0px 0px 5px;">纯C嵌入式webrtc开发库metaRTC VS AWS KVS</h1><div>https://github.com/metartc/metaRTC</div><div>https://gitcode.net/mirrors/metartc/metartc?utm_source=csdn_github_accelerator</div><div><ol style="text-align: left;"><li><span class="author flex-self-stretch" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" itemprop="author" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-size: 20px;"><a class="url fn" data-hovercard-type="organization" data-hovercard-url="/orgs/metartc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/metartc" rel="author" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">metartc</a></span><span class="mx-1 flex-self-stretch color-fg-muted" color="var(--color-fg-muted) !important" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; font-size: 20px; margin-left: var(--base-size-4, 4px) !important; margin-right: var(--base-size-4, 4px) !important;">/</span><span class="mr-2 flex-self-stretch" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" itemprop="name" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-size: 20px; font-weight: var(--base-text-weight-semibold, 600); margin-right: var(--base-size-8, 8px) !important;"><a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="https://github.com/metartc/metaRTC" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">metaRTC</a></span></li><ol><li>https://gitee.com/metartc/metaRTC#demo-compile</li></ol><li><span class="author flex-self-stretch" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" itemprop="author" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-size: 20px;"><a class="url fn" data-hovercard-type="organization" data-hovercard-url="/orgs/ZLMediaKit/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ZLMediaKit" rel="author" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">ZLMediaKit</a></span><span class="mx-1 flex-self-stretch color-fg-muted" color="var(--color-fg-muted) !important" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; font-size: 20px; margin-left: var(--base-size-4, 4px) !important; margin-right: var(--base-size-4, 4px) !important;">/</span><span class="mr-2 flex-self-stretch" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" itemprop="name" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-size: 20px; font-weight: var(--base-text-weight-semibold, 600); margin-right: var(--base-size-8, 8px) !important;"><a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="https://github.com/ZLMediaKit/ZLMediaKit" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">ZLMediaKit</a></span></li><li><span class="author flex-self-stretch" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" itemprop="author" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-size: 20px;"><a class="url fn" data-hovercard-type="organization" data-hovercard-url="/orgs/meetecho/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/meetecho" rel="author" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">meetecho</a></span><span class="mx-1 flex-self-stretch color-fg-muted" color="var(--color-fg-muted) !important" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; font-size: 20px; margin-left: var(--base-size-4, 4px) !important; margin-right: var(--base-size-4, 4px) !important;">/</span><span class="mr-2 flex-self-stretch" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" itemprop="name" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-size: 20px; font-weight: var(--base-text-weight-semibold, 600); margin-right: var(--base-size-8, 8px) !important;"><a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="https://github.com/meetecho/janus-gateway" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">janus-gateway</a></span></li><li><u><span style="color: #eeeeee;"><span class="author flex-self-stretch" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" itemprop="author" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; font-size: 20px;"><a class="url fn" data-hovercard-type="organization" data-hovercard-url="/orgs/pion/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pion" rel="author" style="background-color: transparent; box-sizing: border-box;">pion</a></span><span class="mx-1 flex-self-stretch color-fg-muted" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; font-size: 20px; margin-left: var(--base-size-4, 4px) !important; margin-right: var(--base-size-4, 4px) !important;">/</span><span class="mr-2 flex-self-stretch" face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" itemprop="name" style="align-self: stretch; background-color: #f6f8fa; box-sizing: border-box; font-size: 20px; font-weight: var(--base-text-weight-semibold, 600); margin-right: var(--base-size-8, 8px) !important;"><a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="https://github.com/pion/webrtc" style="background-color: transparent; box-sizing: border-box;">webrtc</a></span></span></u></li></ol><span face="-apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"" style="background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-size: 20px;"></span></div><div><br /></div><div><br /></div><div>Javascript</div><div><ol style="text-align: left;"><li><span class="author flex-self-stretch" itemprop="author" style="align-self: stretch !important; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 20px;"><a class="url fn" data-hovercard-type="user" data-hovercard-url="/users/lesmana/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lesmana" rel="author" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">lesmana</a></span><span class="mx-1 flex-self-stretch color-fg-muted" style="align-self: stretch !important; background-color: #f6f8fa; box-sizing: border-box; color: var(--color-fg-muted) !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 20px; margin-left: var(--base-size-4, 4px) !important; margin-right: var(--base-size-4, 4px) !important;">/</span><span class="mr-2 flex-self-stretch" itemprop="name" style="align-self: stretch !important; background-color: #f6f8fa; box-sizing: border-box; color: #1f2328; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; font-size: 20px; font-weight: var(--base-text-weight-semibold, 600); margin-right: var(--base-size-8, 8px) !important;"><a data-pjax="#repo-content-pjax-container" data-turbo-frame="repo-content-turbo-frame" href="https://github.com/lesmana/webrtc-without-signaling-server" style="background-color: transparent; box-sizing: border-box; text-decoration-line: none;">webrtc-without-signaling-server</a></span></li><li><br /></li></ol></div><div><br /></div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-46379482174348311592023-04-21T11:44:00.002+08:002023-04-27T14:34:28.420+08:00Profilers<p> </p><p><br /></p><p>https://valgrind.org/downloads/</p><p><br /></p><p>https://www.twblogs.net/a/5b8c06c22b717718832fe544</p><ul style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: white; border: 0px; box-sizing: border-box; color: #3d3d3d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; line-height: 1.6rem; list-style-image: initial; list-style-position: initial; margin: 0px 0px 0.9rem 1.2rem; padding: 0px; vertical-align: baseline;"><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/Acumem_SlowSpotter" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Acumem SlowSpotter">Acumem SlowSpotter</a></span> and <span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;">Acumem ThreadSpotter</span> are tools from Acumem, which diagnose performance problems related to <a href="https://en.wikipedia.org/wiki/Locality_of_reference" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Locality of reference">data locality</a>, <a href="https://en.wikipedia.org/wiki/Cache" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Cache">cache utilization</a> and thread interactions. Supports most compiled languages on Linux and Solaris.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/AQtime" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="AQtime">AQtime</a></span> is a performance profiler and memory/resource debugging toolset for .NET 1.0, 1.1, 2.0, 3.0, 3.5 applications (including ASP.NET applications), Windows 32- and 64-bit applications including <a href="https://en.wikipedia.org/wiki/Embarcadero_Delphi" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Embarcadero Delphi">Delphi</a> for Win32 and VBScript and JScript functions.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/CodeAnalyst" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="CodeAnalyst">CodeAnalyst</a></span> as a free GUI based code profiler for AMD hardware x86 based machines from <a class="mw-redirect" href="https://en.wikipedia.org/wiki/AMD" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="AMD">AMD</a>.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;">Caliper</span> is a profiling tool from <a class="mw-redirect" href="https://en.wikipedia.org/wiki/HP" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="HP">HP</a> for application running on <a href="https://en.wikipedia.org/wiki/HP-UX" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="HP-UX">HP-UX</a> with Intel Itanium Integrity platform (<a class="mw-redirect" href="https://en.wikipedia.org/wiki/IA-64" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="IA-64">IA-64</a>).</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/DevPartner" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="DevPartner">DevPartner</a></span> is <a class="mw-redirect" href="https://en.wikipedia.org/wiki/Micro_Focus" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Micro Focus">Micro Focus</a>'s test suite for both .NET and Java that automatically detects and diagnoses software defects and performance problems.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/DynInst" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="DynInst">DynInst</a></span> is an api to allow dynamic injection of code into a running program.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="mw-redirect" href="https://en.wikipedia.org/wiki/Gprof" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Gprof">gprof</a></span>, the GNU Profiler, is part of <a class="mw-redirect" href="https://en.wikipedia.org/wiki/GNU_Binary_Utilities" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="GNU Binary Utilities">GNU Binutils</a> (which are part of the <a href="https://en.wikipedia.org/wiki/GNU_Project" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="GNU Project">GNU Project</a>). A set of visualization tools,<a class="new" href="https://en.wikipedia.org/w/index.php?title=VCG_tools&action=edit&redlink=1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="VCG tools (page does not exist)">VCG tools</a>, uses the Call Graph Drawing Interface (CGDI) to interface with gprof. Another visualization tool which interfaces with gprof is <a class="new" href="https://en.wikipedia.org/w/index.php?title=KProf&action=edit&redlink=1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="KProf (page does not exist)">KProf</a>. gprof works for any language supported by the <a href="https://en.wikipedia.org/wiki/GNU_Compiler_Collection" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="GNU Compiler Collection">GNU Compiler Collection</a> (gcc).</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="new" href="https://en.wikipedia.org/w/index.php?title=HPCToolkit&action=edit&redlink=1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="HPCToolkit (page does not exist)">HPCToolkit</a></span>, open-source integrated suite for measurement and analysis of program performance.<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 12px; line-height: 0; margin: 0px; padding: 0px; position: relative; top: -0.3rem; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/List_of_performance_analysis_tools#cite_note-0" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">[</span>1<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">]</span></a></span></li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/Linux_Trace_Toolkit" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Linux Trace Toolkit">Linux Trace Toolkit</a></span>, the Linux Trace Toolkit, collects data on processes blocking, context switches, and execution time. This helps identify performance problems over multiple processes or threads.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="new" href="https://en.wikipedia.org/w/index.php?title=MyARM&action=edit&redlink=1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="MyARM (page does not exist)">MyARM</a></span>, is a transaction performance measurement tool for <a href="https://en.wikipedia.org/wiki/Application_Response_Measurement" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Application Response Measurement">ARM</a>-instrumented applications supporting C/C++, Java, CSharp .NET and Python.<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 12px; line-height: 0; margin: 0px; padding: 0px; position: relative; top: -0.3rem; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/List_of_performance_analysis_tools#cite_note-1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">[</span>2<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">]</span></a></span></li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="new" href="https://en.wikipedia.org/w/index.php?title=OProfile&action=edit&redlink=1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="OProfile (page does not exist)">OProfile</a></span> is a sampling profiler for Linux that counts cache misses, stalls, memory fetches, etc. It profiles everything running on the Linux system, including hard-to-profile programs such as interrupt handlers and the kernel itself.<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 12px; line-height: 0; margin: 0px; padding: 0px; position: relative; top: -0.3rem; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/List_of_performance_analysis_tools#cite_note-2" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">[</span>3<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">]</span></a></span></li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/Performance_Application_Programming_Interface" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Performance Application Programming Interface">PAPI</a></span> is a portable interface (in the form of a library) to hardware performance counters on modern microprocessors.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/Periscope" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Periscope">Periscope</a></span> is an automatic performance analysis toolkit that searches for performance problems related to stall cycles, cache misses, MPI, OpenMP, and scalability issues.<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 12px; line-height: 0; margin: 0px; padding: 0px; position: relative; top: -0.3rem; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/List_of_performance_analysis_tools#cite_note-3" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">[</span>4<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">]</span></a></span></li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/IBM_Rational_Purify" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="IBM Rational Purify">Rational PurifyPlus</a></span> is a performance profiling tool for Windows, Linux, Solaris and AIX, in addition to being a<a href="https://en.wikipedia.org/wiki/Memory_debugger" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Memory debugger">memory debugger</a> and <a href="https://en.wikipedia.org/wiki/Code_coverage" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Code coverage">code coverage</a> tool.<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 12px; line-height: 0; margin: 0px; padding: 0px; position: relative; top: -0.3rem; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/List_of_performance_analysis_tools#cite_note-4" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">[</span>5<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">]</span></a></span></li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">'<em style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/Apple_Developer_Tools#Shark" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Apple Developer Tools">Shark</a></em> is Apple's free performance analyzer for Macintosh executables. Works on x86 and power. Can use hardware perfmons.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="new" href="https://en.wikipedia.org/w/index.php?title=Sysprof&action=edit&redlink=1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Sysprof (page does not exist)">Sysprof</a></span> is a sampling CPU profiler for Linux that uses a kernel module to profile the entire system, as opposed to a single application. It displays the time spent in each branch of the applications' calltrees.<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 12px; line-height: 0; margin: 0px; padding: 0px; position: relative; top: -0.3rem; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/List_of_performance_analysis_tools#cite_note-5" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">[</span>6<span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">]</span></a></span></li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/Valgrind" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Valgrind">Valgrind</a></span> is a GPL'd system for debugging and profiling x86-Linux programs. It supports tools to either detect memory management and threading bugs, or profile performance. It works for any language and the assembler. <a class="new" href="https://en.wikipedia.org/w/index.php?title=KCacheGrind&action=edit&redlink=1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="KCacheGrind (page does not exist)">KCacheGrind</a>, valkyrie and alleyoop are front-ends for valgrind.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/VTune" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="VTune">VTune</a></span> Performance Analyzer is <a href="https://en.wikipedia.org/wiki/Intel_Corporation" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Intel Corporation">Intel Corporation</a>'s tool for call graph or analyzing a set of tuning events. It works with C/C++/Fortran/.NET/Java and other applications on Linux or Windows, but only when running on selected Intel hardware.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="external text" href="http://www2.warwick.ac.uk/fac/sci/dcs/people/research/csrcbc/research/wppt/" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank">WARPP</a></span> Parallel Application Simulator and Performance Toolkit, developed by the University of Warwick High Performance Systems Group for analysing the performance of high performance parallel/distributed applications</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/RotateRight_Zoom" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="RotateRight Zoom">Zoom</a></span> is a graphical and command-line statistical (event-based) profiler for Linux from RotateRight. It supports most compiled languages on both PowerPC and x86 processors.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="new" href="https://en.wikipedia.org/w/index.php?title=XPerf&action=edit&redlink=1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="XPerf (page does not exist)">XPerf</a></span> Part of the Windows Performance Tools suite that comes with the Windows SDK, XPerf relies on the Event Tracing for Windows (ETW) infrastructure to provide rich support for symbol decoding, sample profiling and capture of call stacks on kernel events. Works on Windows Vista, Server 2008 and above versions.</li></ul><h2 style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: white; border: 0px; box-sizing: border-box; color: #3d3d3d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 1.25rem; line-height: 1.2; margin: 0px 0px 0.5rem; padding: 0px; vertical-align: baseline;"><span class="mw-headline" id="C_and_C.2B.2B" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;">C and C++</span></h2><ul style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: white; border: 0px; box-sizing: border-box; color: #3d3d3d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; font-size: 16px; line-height: 1.6rem; list-style-image: initial; list-style-position: initial; margin: 0px 0px 0.9rem 1.2rem; padding: 0px; vertical-align: baseline;"><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/CodeAnalyst" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="CodeAnalyst">CodeAnalyst</a></span> is a free performance analyzer from <a href="https://en.wikipedia.org/wiki/Advanced_Micro_Devices" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Advanced Micro Devices">Advanced Micro Devices</a> for programs on AMD hardware. It also does basic timer-based profiling on Intel processors.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/DTrace" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="DTrace">DTrace</a></span> dynamic tracing tool for Solaris, FreeBSD, Mac OS X and other operating systems.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="new" href="https://en.wikipedia.org/w/index.php?title=GlowCode&action=edit&redlink=1" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="GlowCode (page does not exist)">GlowCode</a></span> is a commercial profiler for C++, C# and other .NET languages. It also does <a href="https://en.wikipedia.org/wiki/Code_coverage" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Code coverage">code coverage</a> and memory fault analysis.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a href="https://en.wikipedia.org/wiki/Insure%2B%2B" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Insure++">Insure++</a></span> is Parasoft's runtime memory analysis and error detection tool. Its Inuse component provides a graphical view of memory allocations over time, with specific visibility into overall heap usage, block allocations, possible outstanding leaks, etc.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="mw-redirect" href="https://en.wikipedia.org/wiki/Parallel_Studio" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Parallel Studio">Parallel Studio</a></span> from Intel contains Parallel Amplifier, which tunes both serial and parallel programs. It also includes Parallel Inspector, which detects races, deadlocks and memory errors. Parallel Composer includes codecov, a command line coverage tool.</li><li style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; margin: 0px; padding: 0px; vertical-align: baseline;"><span style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; border: 0px; box-sizing: border-box; font-size: 0.7rem; font-weight: bolder; margin: 0px; padding: 0px; vertical-align: baseline;"><a class="mw-redirect" href="https://en.wikipedia.org/wiki/Visual_Studio_Team_System_Profiler" rel="nofollow" style="--font-family-monospace: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace; --font-family-sans-serif: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; -webkit-tap-highlight-color: transparent; background-color: transparent; border: 0px; box-sizing: border-box; color: #4ea1db; cursor: pointer; font-size: 0.7rem; margin: 0px; padding: 0px; text-decoration-line: none; vertical-align: baseline;" target="_blank" title="Visual Studio Team System Profiler">Visual Studio Team System Profiler</a></span> is Microsoft's commercial profiler offering</li></ul>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-44385428741836142912023-04-18T15:15:00.002+08:002023-04-18T15:15:08.117+08:00NALU TYPE<p>https://zhuanlan.zhihu.com/p/147019759</p><p> <span style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif;">主要在拉到设备端原始码流后,对NALU TYPE的判断有不同。</span></p><p data-pid="8SS01K52" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;">其中收到H.264判断方法如下:</p><p data-pid="TtEKLdEN" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;">int nalu_type = buf[0] & 0x1F;</p><p data-pid="xhsBO5I_" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;">其中nalu_type为5则表示IDR帧,6表示SEI、7表示SPS、8表示PPS;</p><p data-pid="vMVxlyRv" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;">对HEVC的NALU类型判断:</p><p data-pid="uCi5IDpn" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;">int nalu_type = (buf[0] & 0x7E)>>1;</p><p data-pid="ZyqNroPN" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;">//or</p><p data-pid="O_jaZadF" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;">int nalu_type = (buf[0] >> 1) & 0x3F;</p><p data-pid="RwgnV6Pe" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;">其中nalu_type19代表IDR帧,32位VPS、33位SPS、34为PPS、39为SEI;</p><p data-pid="RwgnV6Pe" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;"><br /></p><p data-pid="RwgnV6Pe" style="background-color: white; color: #121212; font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", "Noto Sans CJK SC", "WenQuanYi Micro Hei", sans-serif; margin: 1.4em 0px;"><br /></p>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-75387436988875102222023-04-12T17:19:00.004+08:002023-04-12T17:19:21.984+08:005g mbimcli<p> </p><div><br /></div><pre style="background-color: #f7f7f7; border-radius: 0.125rem; border: 1px solid rgb(205, 205, 205); box-sizing: inherit; color: #111111; direction: ltr; font-family: monospace, monospace; font-size: 0.875rem; hyphens: none; margin-bottom: 1.5rem; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 0.5rem 1rem; tab-size: 4; text-shadow: none;">mbimcli - Control MBIM devices<br /></pre><pre style="background-color: #f7f7f7; border-radius: 0.125rem; border: 1px solid rgb(205, 205, 205); box-sizing: inherit; direction: ltr; hyphens: none; margin-bottom: 1.5rem; margin-top: 0px; overflow-wrap: break-word; overflow: auto; padding: 0.5rem 1rem; tab-size: 4; text-shadow: none;"><span style="color: #111111; font-family: monospace, monospace;"><span style="font-size: 14px;">https://manpages.ubuntu.com/manpages/trusty/man1/mbimcli.1.html</span></span></pre>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-50763877959084854922023-03-02T10:54:00.003+08:002023-03-02T10:54:32.046+08:00 如果用檔案總管無法連到NAS的話可以參考這篇 Samba<p> 如果用檔案總管無法連到NAS的話可以參考這篇</p><p>https://iqmore.tw/windows-10-nas-smb-1-problem-solving</p><div><br /></div><div>CIFS, SMB, samba</div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-69569005753958277712023-02-22T15:24:00.000+08:002023-02-22T15:24:00.792+08:00Brume 2 (GL-MT2500) VPN Security Gateway<p> </p><h1 class="product-title" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background-color: white; box-sizing: inherit; color: #1d1d1d; font-family: Montserrat, sans-serif; font-size: var(--font-size-heading-1); line-height: 1.2; margin: 0px 0px 0.5rem; text-size-adjust: none;">Brume 2 (GL-MT2500) VPN Security Gateway</h1><p><span style="background-color: white; color: #1d1d1d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px;">OpenWrt v21.02</span></p><p><span style="background-color: white; color: #1d1d1d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px;"> </span><a data-mce-fragment="1" data-mce-href="https://www.gl-inet.com/solutions/vpn/" href="https://www.gl-inet.com/solutions/vpn/" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background-color: white; box-sizing: inherit; color: #046e82; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; text-decoration-line: none; text-size-adjust: none; transition: color 0.1s cubic-bezier(0.4, 0, 0.2, 1) 0s;" target="_blank">OpenVPN and WireGuard®</a><span style="background-color: white; color: #1d1d1d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px;"> </span></p><p><span style="background-color: white; color: #1d1d1d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px;"> VPN Speed: 355Mbps (WireGuard) or 150Mbps (OpenVPN)</span></p><p><span style="background-color: white; color: #1d1d1d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px;"> SD-WAN (Site-to-Site)</span></p><p><span data-mce-fragment="1" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background-color: white; box-sizing: inherit; color: #1d1d1d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; text-size-adjust: none;"> CPU: MediaTek MT7981B Dual-core, @1.3GHz<br style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); box-sizing: inherit; text-size-adjust: none;">• Memory/Storage: DDR4 1GB / EMMC 8GB<br style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); box-sizing: inherit; text-size-adjust: none;">• Ethernet Ports: 2 ports (1 WAN, 1 LAN)<br style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); box-sizing: inherit; text-size-adjust: none;">• </span><span data-mce-fragment="1" style="-webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); background-color: white; box-sizing: inherit; color: #1d1d1d; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; font-size: 16px; text-size-adjust: none;">Dimension / Weight: 70 x 70 x 22 mm / 60g</span></p><p>https://store.gl-inet.com/products/brume-2-gl-mt2500-vpn-security-gateway</p><span></span><a href="http://g9677606.blogspot.com/2023/02/brume-2-gl-mt2500-vpn-security-gateway.html#more">閱讀更多 »</a>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-29065965774668658622023-02-14T11:52:00.004+08:002023-02-14T11:52:29.735+08:00What Is a Thread Border Router? (And Do I Need to Buy One?)<h1 class="entry-title" style="box-sizing: inherit; clear: both; color: #404040; font-family: Roboto, "Open Sans", sans-serif; margin: 5px 0px 10px;"><a aria-label="What Is a Thread Border Router? (And Do I Need to Buy One?)" href="https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="box-sizing: inherit; color: #333333; font-family: Roboto, sans-serif; font-size: 40px; line-height: 48px; text-decoration-line: none;" title="What Is a Thread Border Router? (And Do I Need to Buy One?)">What Is a Thread Border Router? (And Do I Need to Buy One?)</a></h1><p> </p><p><br /></p><p style="background-color: white; box-sizing: inherit; color: #404040; font-family: Roboto, "Open Sans", sans-serif; font-size: 16px; margin-bottom: 1.5em;">At the time of writing in September of 2022, for example, the following pieces of smart home hardware already have Thread border routers built into them:</p><ul style="background-color: white; box-sizing: inherit; color: #404040; font-family: Roboto, "Open Sans", sans-serif; font-size: 16px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.5em 20px; padding-left: 10px;"><li style="box-sizing: inherit; margin-bottom: 10px;"><a data-trxnetwork="az" href="https://www.amazon.com/2021-Apple-TV-4K-64GB/dp/B0933D8TNB/?tag=lsmedia-2991-20&asc_refurl=https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">Apple TV 4K</a> (Second Generation)</li><li style="box-sizing: inherit; margin-bottom: 10px;"><a href="https://shop-links.co/link/?url=https%3A%2F%2Fwww.bestbuy.com%2Fsite%2Fapple-homepod-mini-white%2F6377590.p%3FskuId%3D6377590&publisher_slug=howtogeek&exclusive=1&u1=830124&article_name=What+Is+a+Thread+Border+Router%3F+%28And+Do+I+Need+to+Buy+One%3F%29&article_url=https%3A%2F%2Fwww.howtogeek.com%2F830124%2Fwhat-is-a-thread-border-router-and-do-i-need-to-buy-one%2F" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">Apple HomePod Mini</a></li><li style="box-sizing: inherit; margin-bottom: 10px;"><a data-trxnetwork="az" href="https://www.amazon.com/All-New-Echo-4th-Gen/dp/B07XKF5RM3/?tag=lsmedia-2991-20&asc_refurl=https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">Amazon Echo Smart Speakers</a> (Fourth Generation)</li><li style="box-sizing: inherit; margin-bottom: 10px;">Amazon eero Mesh routers (<a data-trxnetwork="az" href="https://www.amazon.com/Eero-Beacon-with-CI-Packaging/dp/B07DPND6BB?tag=lsmedia-2991-20&asc_refurl=https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">eero Beacon</a>, <a data-trxnetwork="az" href="https://www.amazon.com/Amazon-eero-dual-band-routers-extenders/dp/B091N4KDWL/?tag=lsmedia-2991-20&asc_refurl=https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">eero 6</a>, <a data-trxnetwork="az" href="https://www.amazon.com/Amazon-eero-mesh-system-Beacons/dp/B09M71XXN3/?tag=lsmedia-2991-20&asc_refurl=https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">eero Pro</a>, and <a data-trxnetwork="az" href="https://www.amazon.com/Amazon-eero-pro-6-3-pack/dp/B085VNCZHZ/?tag=lsmedia-2991-20&asc_refurl=https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">eero Pro 6</a>)</li><li style="box-sizing: inherit; margin-bottom: 10px;">Nanoleaf <a data-trxnetwork="az" href="https://www.amazon.com/Nanoleaf-Elements-Hexagons-Smarter-Panels/dp/B09B83GQKR/?tag=lsmedia-2991-20&asc_refurl=https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">Elements</a>, <a data-trxnetwork="az" href="https://www.amazon.com/Nanoleaf-Shapes-Hexagons-Smarter-Panels/dp/B08N62R79Z/?tag=lsmedia-2991-20&asc_refurl=https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">Shapes</a>, and <a data-trxnetwork="az" href="https://www.amazon.com/Nanoleaf-Dimmable-Gaming-Lights-Starter/dp/B09LWVWN8M/?tag=lsmedia-2991-20&asc_refurl=https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">Lines</a> Light Panels</li><li style="box-sizing: inherit; margin-bottom: 10px;"><a href="https://shop-links.co/link/?url=https%3A%2F%2Fwww.bestbuy.com%2Fsite%2Fnest-hub-max-smart-display-with-google-assistant-charcoal%2F6348562.p%3FskuId%3D6348562&publisher_slug=howtogeek&exclusive=1&u1=830124&article_name=What+Is+a+Thread+Border+Router%3F+%28And+Do+I+Need+to+Buy+One%3F%29&article_url=https%3A%2F%2Fwww.howtogeek.com%2F830124%2Fwhat-is-a-thread-border-router-and-do-i-need-to-buy-one%2F" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">Nest Hub Max</a>, <a href="https://shop-links.co/link/?url=https%3A%2F%2Fwww.bestbuy.com%2Fsite%2Fnest-hub-7-smart-display-with-google-assistant-2nd-gen-charcoal%2F6450818.p%3FskuId%3D6450818&publisher_slug=howtogeek&exclusive=1&u1=830124&article_name=What+Is+a+Thread+Border+Router%3F+%28And+Do+I+Need+to+Buy+One%3F%29&article_url=https%3A%2F%2Fwww.howtogeek.com%2F830124%2Fwhat-is-a-thread-border-router-and-do-i-need-to-buy-one%2F" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">Nest Hub</a> (Second Generation), and <a href="https://shop-links.co/link/?url=https%3A%2F%2Fwww.bestbuy.com%2Fsite%2Fnest-wifi-mesh-router-ac2200-and-2-points-with-google-assistant-3-pack-snow%2F6382518.p%3FskuId%3D6382518&publisher_slug=howtogeek&exclusive=1&u1=830124&article_name=What+Is+a+Thread+Border+Router%3F+%28And+Do+I+Need+to+Buy+One%3F%29&article_url=https%3A%2F%2Fwww.howtogeek.com%2F830124%2Fwhat-is-a-thread-border-router-and-do-i-need-to-buy-one%2F" style="background-color: transparent; box-sizing: inherit; color: #1d55a9;">Nest Wi-Fi Routers</a></li></ul><p><br /></p><p>Reference:</p><p>https://www.howtogeek.com/830124/what-is-a-thread-border-router-and-do-i-need-to-buy-one/</p>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-84684659411480413462022-12-09T14:49:00.000+08:002022-12-09T14:49:34.755+08:00H.264 NAL reference<p> http://www.hellotongtong.com/avcodecbase/avcodecbase-h264-learning100.html</p><ol style="text-align: left;"></ol><ol style="text-align: left;"><li><span style="background-color: white; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 700;">forbidden_zero_bit</span></li><ol><li>bit,H264 规定此位必须为 0</li></ol><li>nal_ref_idc</li><ol><li>用于表示当前 NALU 的重要性,值越大,越重要</li><li>解码器在解码处理不过来的时候,可以丢掉重要性为 0 的 NALU</li><li><p style="background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; margin: 0px 0px 10px;">nal_ref_idc 不等于 0 时, NAL unit 的内容可能是 SPS/PPS/参考帧 的片</p><p style="background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; margin: 0px 0px 10px;">nal_ref_idc 等于 0 时,NAL unit 的内容可能是非参考图像的片</p><p style="background-color: white; box-sizing: border-box; color: #333333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; margin: 0px 0px 10px;">当某个图像的片的 nal_ref_id 等于 0 时,该图像的所有片均应等于 0</p></li></ol><li><br /></li></ol><ol style="text-align: left;"></ol><ol style="text-align: left;"></ol><ol style="text-align: left;"></ol><ol style="text-align: left;"></ol><br /><p></p>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-71748229828597061322022-12-08T17:27:00.003+08:002022-12-08T17:27:18.692+08:00ffprobe h264 <p> ffprobe -show_frames 1.h264 |grep pict_type</p><div>jack@i7-build-server:~$ ffprobe -show_streams 1.h264</div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-50765563468265604402022-11-25T15:31:00.002+08:002022-11-25T15:32:34.744+08:00CPython<p><a href="https://gist.github.com/j-c-cook/2a291dc0bfaa2f6639272e344ff66e62" target="_blank"> Cross-compile Python for use on armv7l</a></p><p><br /></p><p><a href="https://medium.com/@spylogsster/cross-compiling-python-for-aarch64-f9363528f5f9" target="_blank">Cross compiling python for aarch64</a></p><p><br /></p><pre class="kc kd ke kf fy kg bs kh ki dz kj" style="background: rgb(242, 242, 242); border-radius: 0px; border: none; box-sizing: inherit; color: rgba(0, 0, 0, 0.8); font-family: source-code-pro, Menlo, Monaco, "Courier New", Courier, monospace; margin-bottom: 0px; margin-top: 56px; overflow-x: auto; padding: 20px;"><span class="gh kk kl ig kj b dm km kn l ko kp" data-selectable-paragraph="" id="46b5" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: -0.09em; min-width: fit-content; white-space: pre-wrap;">#!/bin/bash</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="9e35" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">set -x -e</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="dd6f" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">export HOST_ARCH=aarch64-linux-gnu</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="0595" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">export TOOL_PREFIX=/home/username/aarch64-linux-toolchain/bin/$HOST_ARCH<br style="box-sizing: inherit;" />export CXX=$TOOL_PREFIX-g++</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="05a8" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">export CPP="$TOOL_PREFIX-g++ -E"</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="b1e6" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">export AR=$TOOL_PREFIX-ar</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="c154" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">export RANLIB=$TOOL_PREFIX-ranlib</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="5b6c" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">export CC=$TOOL_PREFIX-gcc</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="15ea" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">export LD=$TOOL_PREFIX-ld</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="3032" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">export READELF=$TOOL_PREFIX-readelf</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="fc47" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">export LDLAST="-lgcov"</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="e056" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">./configure --host=$HOST_ARCH --target=$HOST_ARCH --build=x86_64-pc-linux-gnu --prefix=$HOME/temp --disable-ipv6 ac_cv_file__dev_ptmx=no ac_cv_file__dev_ptc=no ac_cv_have_long_long_format=yes --enable-shared --with-zlib-dir=/usr/lib64 --with-ensurepip=yes --enable-optimization</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="10b5" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">make BLDSHARED="$TOOL_PREFIX-gcc -shared" CROSS-COMPILE=$TOOL_PREFIX- CROSS_COMPILE_TARGET=yes</span><span class="gh kk kl ig kj b dm kq kn l ko kp" data-selectable-paragraph="" id="cd53" style="box-sizing: inherit; color: #292929; display: block; font-size: 16px; letter-spacing: -0.022em; line-height: 1.18; margin-bottom: -0.09em; margin-top: 0.91em; min-width: fit-content; white-space: pre-wrap;">sudo make install BLDSHARED="$TOOL_PREFIX-gcc -shared" CROSS-COMPILE=$TOOL_PREFIX- CROSS_COMPILE_TARGET=yes prefix=$HOME/Python-$HOST_ARCH/_install</span></pre>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0tag:blogger.com,1999:blog-11962271.post-41792743128721538552022-11-17T14:18:00.004+08:002022-11-17T14:18:36.064+08:00 GStreamer <p> </p><h2 style="background-color: white; box-sizing: border-box; color: #424242; font-family: "SF Pro TC", "SF Pro Display", "Helvetica Neue", sans-serif; font-size: 1.8rem; line-height: 1.2; margin-bottom: 0.5rem; margin-top: 0px; text-align: justify; white-space: pre-line;"><span style="box-sizing: border-box; font-weight: bolder;">GStreamer 架構</span></h2><div><span style="box-sizing: border-box;"><b>https://blog.toolman.xyz/article/259</b></span></div>Jackhttp://www.blogger.com/profile/12670818999851665171noreply@blogger.com0