﻿{"id":2398,"date":"2022-02-09T15:12:18","date_gmt":"2022-02-09T07:12:18","guid":{"rendered":"http:\/\/nick.txtcc.com\/?p=2398"},"modified":"2022-03-10T11:40:24","modified_gmt":"2022-03-10T03:40:24","slug":"ffmpeg-rtp-100ms%e5%a6%82%e4%b8%8b%e8%b6%85%e4%bd%8e%e9%9f%b3%e9%a2%91%e6%b5%81%e6%8e%a8%e9%80%81%e8%ae%be%e7%bd%ae","status":"publish","type":"post","link":"http:\/\/nick.txtcc.com\/index.php\/other\/2398","title":{"rendered":"FFmpeg RTP 100ms\u5982\u4e0b\u8d85\u4f4e\u97f3\u9891\u6d41\u63a8\u9001\u8bbe\u7f6e"},"content":{"rendered":"<h2>\u89c6\u9891+\u97f3\u9891<\/h2>\n<p>\u9996\u5148\u5b89\u88c5\u597dFFmpeg\uff0c\u800c\u540e\u80fd\u591f\u7528\u5982\u4e0b\u547d\u4ee4\u6d4b\u8bd5\uff0c\u54b1\u4eec\u8f6c\u53d1\u670d\u52a1\u5668\u7528\u7684\u662fjanus\uff0c\u4e5f\u80fd\u591f\u7528\u5176\u4f59vlc\u7b49\u3002\u7f13\u5b58<\/p>\n<pre class=\"hljs objectivec\">ffmpeg  -re -i C:\\Users\\rong\\Videos\\xxx<span class=\"hljs-variable\">.mp4<\/span> -an -vcodec <span class=\"hljs-keyword\">copy<\/span> -vcodec hevc -f rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8004 -vn -acodec copy -acodec opus -strict -2 -f rtp rtp:\/\/10.33.250.241:8002<\/span><\/pre>\n<h2><a id=\"_10\"><\/a>\u97f3\u9891\u63a8\u6d41<\/h2>\n<pre class=\"hljs objectivec\">ffmpeg  -re -i C:\\Users\\rong\\Videos\\xxx<span class=\"hljs-variable\">.mp4<\/span> -vn -acodec <span class=\"hljs-keyword\">copy<\/span> -f rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8002<\/span>\nffmpeg  -re -i C:\\Users\\rong\\Videos\\<span class=\"hljs-number\">1.<\/span>opus -vn -acodec <span class=\"hljs-keyword\">copy<\/span> -f rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8002<\/span><\/pre>\n<h2><a id=\"_16\"><\/a>\u83b7\u53d6\u8f93\u5165\u8bbe\u5907\u5217\u8868<\/h2>\n<pre class=\"hljs bash\">ffmpeg -devices\nffmpeg <span class=\"hljs-operator\">-f<\/span> dshow -list_devices <span class=\"token boolean\"><span class=\"hljs-literal\">true<\/span><\/span> -i <span class=\"token string\"><span class=\"hljs-string\">\"\"<\/span><\/span><\/pre>\n<h2><a id=\"_22\"><\/a>\u91c7\u96c6\u9ea6\u514b\u98ce\u5e76\u5f55\u5236<\/h2>\n<p>\u8fd9\u91cc\u5148\u67e5\u770b\u8f93\u5165\u8bbe\u5907\u540d\u79f0\uff0c\u4e2d\u6587\u53ef\u80fd\u4f1a\u4e71\u7801\uff0c\u5c31\u7528id\u4ee3\u66ff\u4ee5\u4e0b\uff0c&#8221;@device<em>cm<\/em>{33D9A762-90C8-11D0-BD43-00A0C911CE86}\\wave_{56E9ADCA-F789-4439-BE53-5C6DCC324AAA}&#8221;\uff0c\u4e2a\u4eba\u8bbe\u5907idbash<\/p>\n<pre class=\"hljs nginx\"><span class=\"hljs-title\">ffmpeg<\/span> -f dshow -i audio<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"<span class=\"hljs-variable\">@device_cm_<\/span>{33D9A762-90C8-11D0-BD43-00A0C911CE86}\\wave_{56E9ADCA-F789-4439-BE53-5C6DCC324AAA}\"<\/span><\/span>  C:\\Users\\rong\\Videos\\<span class=\"hljs-number\">1<\/span>.opus<\/pre>\n<h2><a id=\"_27\"><\/a>\u91c7\u96c6\u9ea6\u514b\u98ce\u7f16\u7801\u5e76\u5f55\u5236<\/h2>\n<pre class=\"hljs nginx\"><span class=\"hljs-title\">ffmpeg<\/span> -f dshow  -i audio<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"<span class=\"hljs-variable\">@device_cm_<\/span>{33D9A762-90C8-11D0-BD43-00A0C911CE86}\\wave_{56E9ADCA-F789-4439-BE53-5C6DCC324AAA}\"<\/span><\/span> -acodec opus -strict experimental  -preset:v ultrafast  C:\\Users\\rong\\Videos\\<span class=\"hljs-number\">1<\/span>.opus<\/pre>\n<h2><a id=\"rtp_32\"><\/a>\u91c7\u96c6\u9ea6\u514b\u98ce\u5e76rtp\u63a8\u6d41<\/h2>\n<pre class=\"hljs objectivec\">ffmpeg -f dshow -i audio<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\\wave_{56E9ADCA-F789-4439-BE53-5C6DCC324AAA}\"<\/span><\/span> -vn -acodec <span class=\"hljs-keyword\">copy<\/span> -f rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8002<\/span><\/pre>\n<h2><a id=\"opus_38\"><\/a>\u9ea6\u514b\u98ce\u63a8\u6d41\u97f3\u9891opus\u7f16\u7801<\/h2>\n<p>\u7531\u4e8e\u4e91\u6e38\u620f\u8981\u6c42\u8d85\u4f4e\u5ef6\u8fdf\u56e0\u6b64\u91c7\u7528opus\u7f16\u7801\u670d\u52a1\u5668<\/p>\n<pre class=\"hljs objectivec\">ffmpeg -f dshow -i audio<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\\wave_{56E9ADCA-F789-4439-BE53-5C6DCC324AAA}\"<\/span><\/span> -vn -acodec <span class=\"hljs-keyword\">copy<\/span> -acodec opus -strict -<span class=\"hljs-number\">2<\/span> -f rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8002<\/span><\/pre>\n<h2><a id=\"opus_44\"><\/a>\u626c\u58f0\u5668\u63a8\u6d41\u97f3\u9891opus\u7f16\u7801<\/h2>\n<p>\u626c\u58f0\u5668\u91c7\u96c6\u5f97\u4e0b\u8f7d\u91c7\u96c6\u8f6f\u4ef6 screen capture recorder\u3002\n\u5b98\u7f51\u8fde\u63a5\uff1a<a href=\"http:\/\/www.javashuo.com\/link?url=http:\/\/sourceforge.net\/projects\/screencapturer\/files\/\" target=\"_blank\" rel=\"nofollow noopener\"><a href=\"http:\/\/sourceforge.net\/projects\/screencapturer\/files\/\">http:\/\/sourceforge.net\/projects\/screencapturer\/files\/<\/a><\/a>app<\/p>\n<pre class=\"hljs objectivec\">ffmpeg -f dshow -i audio<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"virtual-audio-capturer\"<\/span><\/span> -vn -acodec <span class=\"hljs-keyword\">copy<\/span> -acodec opus -strict -<span class=\"hljs-number\">2<\/span> -f rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8002<\/span><\/pre>\n<h2><a id=\"opus_51\"><\/a>\u626c\u58f0\u5668\u63a8\u6d41\u97f3\u9891opus\u7f16\u7801\u5e76\u8bbe\u7f6e\u65f6\u95f4\u6233\u8c03\u6574\u4e0b\u964d\u5ef6\u8fdf\u3002<\/h2>\n<pre class=\"hljs objectivec\">ffmpeg -f dshow  -itsoffset -<span class=\"hljs-number\">0.1<\/span> -i audio<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"virtual-audio-capturer\"<\/span><\/span> -vn -acodec <span class=\"hljs-keyword\">copy<\/span> -acodec opus -strict -<span class=\"hljs-number\">2<\/span> -f  rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8002<\/span><\/pre>\n<h2><a id=\"_57\"><\/a>\u91c7\u96c6\u5c4f\u5e55\u7f16\u7801\u5e76\u63a8\u6d41<\/h2>\n<pre class=\"hljs objectivec\">ffmpeg -rtbufsize <span class=\"hljs-number\">2000<\/span>M -f dshow  -i video<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"screen-capture-recorder\"<\/span><\/span> -vcodec <span class=\"hljs-keyword\">copy<\/span> -vcodec nvenc_h264 -zerolatency <span class=\"hljs-number\">1<\/span> -f rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8004<\/span><\/pre>\n<h1><a id=\"_63\"><\/a>\u4f4e\u5ef6\u8fdf\u8bbe\u7f6e<\/h1>\n<p>\u5982\u4e0b\u53c2\u6570\u4e3a\u4e0b\u964d\u5ef6\u8fdf\u8bbe\u7f6e\uff0c\u4e00\u4e2a\u4e2a\u8c03\u6574\u82b1\u8d39\u4e86\u6211\u5927\u91cf\u65f6\u95f4\u3002ide<\/p>\n<h2><a id=\"rtbufsize_1000k_65\"><\/a>-rtbufsize 1000k<\/h2>\n<p>\u8bbe\u7f6e\u7f13\u51b2\u533a\u5927\u5c0f\uff0c\u8fc7\u5c0f\u4f1a\u7206\u7f13\u5b58\uff0c\u800c\u4e14\u5f15\u53d1\u4e22\u5e27\uff0c\u5e76\u4e14\u5bb9\u6613\u5f15\u53d1\u4f20\u8f93\u5361\u6b7b\uff0c\u592a\u5927\u6ca1\u6709\u660e\u663e\u5f71\u54cdsvg<\/p>\n<h2><a id=\"audio_buffer_size_1k_68\"><\/a>-audio_buffer_size 1k<\/h2>\n<p>\u8bbe\u7f6e\u4e00\u79d2\u5185\u97f3\u9891\u5904\u7406\u5305\u7f13\u5b58\u5927\u5c0f\uff0c\u8fc7\u5c0f\u4f1a\u81f4\u4f7f\u540c\u4e00\u4e2a\u65f6\u95f4\u6bb5\u97f3\u9891\u6570\u636e\u5206\u4e3a\u591a\u4e2a\u6570\u636e\u5305\u5904\u7406\u81f4\u4f7f\u5ef6\u8fdf\u52a0\u5927\uff0c\u592a\u5927\u4f1a\u8bbe\u7f6e\u5931\u8d25\uff0c\u82e5\u662f\u7ed9\u6d41\u52a0\u4e0a\u6b64\u8bbe\u7f6e\u8c8c\u4f3c\u4e0d\u8d77\u505a\u7528\u6d4b\u8bd5<\/p>\n<h2><a id=\"itsoffset_01_70\"><\/a>-itsoffset -0.1<\/h2>\n<p>\/\/\u8bbe\u7f6e\u65f6\u95f4\u6233\u5411\u5de6\u504f\u79fb\uff0c\u82e5\u662f\u4e0d\u662f\u50a8\u5b58\u89c6\u9891\u6587\u4ef6\uff0c\u6216\u8005\u89c6\u9891\u6587\u4ef6\u63a8\u6d41\u8c8c\u4f3c\u4e0d\u8d77\u6548\u679c\u7f16\u7801<\/p>\n<h2><a id=\"max_muxing_queue_size_0_73\"><\/a>-max_muxing_queue_size 0<\/h2>\n<p>\u8bbe\u7f6e\u6700\u5927\u5904\u7406\u97f3\u9891\u6d41\u7684\u6570\u91cfspa<\/p>\n<h2><a id=\"bufsize_0_76\"><\/a>-bufsize 0<\/h2>\n<p>\u8bbe\u7f6e\u5355\u4e00\u5904\u7406\u97f3\u9891\u6d41\u7684\u5927\u5c0f\uff0c\u4ee5\u4e0a\u8bbe\u7f6e\u7ed3\u5408\u4ee5\u4e0b\uff1a<\/p>\n<pre class=\"hljs objectivec\">ffmpeg -f dshow -rtbufsize <span class=\"hljs-number\">1000<\/span>M -audio_buffer_size <span class=\"hljs-number\">1<\/span>k -itsoffset <span class=\"hljs-number\">0.08<\/span> -i audio<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"virtual-audio-capturer\"<\/span><\/span> -vn -audio_buffer_size <span class=\"hljs-number\">1<\/span> -max_muxing_queue_size <span class=\"hljs-number\">1<\/span> -bufsize <span class=\"hljs-number\">1<\/span>  -acodec <span class=\"hljs-keyword\">copy<\/span> -acodec libopus -ar <span class=\"hljs-number\">48000<\/span> -strict -<span class=\"hljs-number\">2<\/span> -b:a <span class=\"hljs-number\">64<\/span>K -f  rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8002<\/span><\/pre>\n<h2><a id=\"itsscale_1_82\"><\/a>-itsscale 1<\/h2>\n<p>\u8bbe\u7f6e\u8f93\u5165\u6570\u636e\u901f\u5ea6\uff0c\u5751\u70b9\uff0c\u6b64\u53c2\u6570\u4e0d\u5f53\u4f1a\u5f15\u53d1\u89c6\u9891\u6d41\u7684\u5ef6\u8fdf\uff0c\u6700\u540e\u7684\u8bbe\u7f6e\u4ee5\u4e0b\uff1a<\/p>\n<pre class=\"hljs objectivec\">ffmpeg -f dshow -rtbufsize <span class=\"hljs-number\">1000<\/span>M -audio_buffer_size <span class=\"hljs-number\">1<\/span>k -itsoffset <span class=\"hljs-number\">0.08<\/span> -itsscale <span class=\"hljs-number\">1<\/span> -i audio<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"virtual-audio-capturer\"<\/span><\/span> -vn -ss <span class=\"hljs-number\">0.08<\/span> -audio_buffer_size <span class=\"hljs-number\">1<\/span> -max_muxing_queue_size <span class=\"hljs-number\">1<\/span> -bufsize <span class=\"hljs-number\">1<\/span>  -acodec <span class=\"hljs-keyword\">copy<\/span> -acodec libopus -ar <span class=\"hljs-number\">48000<\/span> -strict -<span class=\"hljs-number\">2<\/span> -b:a <span class=\"hljs-number\">64<\/span>K -f  rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8002<\/span><\/pre>\n<h2><a id=\"_89\"><\/a>\u5148\u63a8\u89c6\u9891\u518d\u63a8\u97f3\u9891\u8d85\u4f4e\u5ef6\u8fdf\u7684\u53e6\u5916\u4e00\u79cd\u8bbe\u7f6e\uff0c\u6d4b\u8bd5\u7ecf\u8fc7<\/h2>\n<pre class=\"hljs objectivec\">ffmpeg  -f dshow -rtbufsize <span class=\"hljs-number\">4.5<\/span>k -itsscale <span class=\"hljs-number\">1<\/span> -itsoffset -<span class=\"hljs-number\">0.1<\/span> -i audio<span class=\"token operator\">=<\/span>\n<span class=\"token string\"><span class=\"hljs-string\">\"virtual-audio-capturer\"<\/span><\/span> -vn -acodec <span class=\"hljs-keyword\">copy<\/span> -ss <span class=\"hljs-number\">0.08<\/span> -acodec libopus -strict -<span class=\"hljs-number\">2<\/span> -ar <span class=\"hljs-number\">48000<\/span> -b:a <span class=\"hljs-number\">96<\/span>K -compression_level <span class=\"hljs-number\">0<\/span> -frame_duration <span class=\"hljs-number\">10<\/span> -application lowdelay -copyts -f  rtp rtp:<span class=\"hljs-comment\">\/\/10.33.250.241:8002<\/span><\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p class=\"p1\"><span class=\"s1\">ffplay -fflags nobuffer<span class=\"Apple-converted-space\">\u00a0 <\/span>-reorder_queue_size 0 -protocol_whitelist &#8220;file,rtp,udp&#8221; vlc.sdp<\/span><\/p>","protected":false},"excerpt":{"rendered":"<p>\u89c6\u9891+\u97f3\u9891 \u9996\u5148\u5b89\u88c5\u597dFFmpeg\uff0c\u800c\u540e\u80fd\u591f\u7528\u5982\u4e0b\u547d\u4ee4\u6d4b\u8bd5\uff0c\u54b1\u4eec\u8f6c\u53d1\u670d\u52a1\u5668\u7528\u7684\u662fjanus\uff0c\u4e5f\u80fd\u591f\u7528\u5176\u4f59vlc\u7b49\u3002\u7f13\u5b58 ffmpeg -re -i C:\\Users\\rong\\Videos\\xxx.m&#46;&#46;&#46;<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[507,517],"class_list":["post-2398","post","type-post","status-publish","format-standard","hentry","category-other","tag-ffmpeg","tag-rtp"],"_links":{"self":[{"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts\/2398","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/comments?post=2398"}],"version-history":[{"count":2,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts\/2398\/revisions"}],"predecessor-version":[{"id":2401,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/posts\/2398\/revisions\/2401"}],"wp:attachment":[{"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/media?parent=2398"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/categories?post=2398"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/nick.txtcc.com\/index.php\/wp-json\/wp\/v2\/tags?post=2398"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}