- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要将我的桌面流式传输到 AWS MediaLive 服务,并且作为要求,我必须在流中包含挂钟时间码。 AWS 支持人员亲切地通知我,对于 h.264 编码流,我需要提供时间码作为“pic_timing SEI 消息”。
我正在通过 Windows 10 上的 RTMP 协议(protocol)使用 FFmpeg 进行流式传输,所以我尝试添加 use_wallclock_as_timestamps
和 copyts
标志我的命令。
ffmpeg -f gdigrab -framerate 30 -offset_x 0 -offset_y 0 -video_size 1920x1080 -show_region 1 -use_wallclock_as_timestamps 1 -i desktop -vf scale=320:240 -c:v libx264 -c:a aac -profile:v main -level 3.1 -pix_fmt yuv420p -copyts -f flv rtmp://<ip>:1935/<app>/<stream>
use_wallclock_as_timestamps
flag 实际上根据需要将时间码创建为“pic_timing SEI 消息”? 最佳答案
对于“pic_timing SEI 消息”支持,唯一直接公开的编码器包装是 h264_qsv
和 h264_vaapi
.您可以通过以下方式确认对相同的支持:
(一个)。对于h264_vaapi
编码器包装器(仅适用于 Linux):
ffmpeg -h encoder=h264_vaapi
Encoder h264_vaapi [H.264/AVC (VAAPI)]:
General capabilities: delay hardware
Threading capabilities: none
Supported hardware devices: vaapi
Supported pixel formats: vaapi_vld
h264_vaapi AVOptions:
-low_power <boolean> E..V....... Use low-power encoding mode (only available on some platforms; may not support all encoding features) (default false)
-idr_interval <int> E..V....... Distance (in I-frames) between IDR frames (from 0 to INT_MAX) (default 0)
-b_depth <int> E..V....... Maximum B-frame reference depth (from 1 to INT_MAX) (default 1)
-rc_mode <int> E..V....... Set rate control mode (from 0 to 6) (default auto)
auto 0 E..V....... Choose mode automatically based on other parameters
CQP 1 E..V....... Constant-quality
CBR 2 E..V....... Constant-bitrate
VBR 3 E..V....... Variable-bitrate
ICQ 4 E..V....... Intelligent constant-quality
QVBR 5 E..V....... Quality-defined variable-bitrate
AVBR 6 E..V....... Average variable-bitrate
-qp <int> E..V....... Constant QP (for P-frames; scaled by qfactor/qoffset for I/B) (from 0 to 52) (default 0)
-quality <int> E..V....... Set encode quality (trades off against speed, higher is faster) (from -1 to INT_MAX) (default -1)
-coder <int> E..V....... Entropy coder type (from 0 to 1) (default cabac)
cavlc 0 E..V.......
cabac 1 E..V.......
vlc 0 E..V.......
ac 1 E..V.......
-aud <boolean> E..V....... Include AUD (default false)
-sei <flags> E..V....... Set SEI to include (default identifier+timing+recovery_point)
identifier E..V....... Include encoder version identifier
timing E..V....... Include timing parameters (buffering_period and pic_timing)
recovery_point E..V....... Include recovery points where appropriate
-profile <int> E..V....... Set profile (profile_idc and constraint_set*_flag) (from -99 to 65535) (default -99)
constrained_baseline 578 E..V.......
main 77 E..V.......
high 100 E..V.......
-level <int> E..V....... Set level (level_idc) (from -99 to 255) (default -99)
1 10 E..V.......
1.1 11 E..V.......
1.2 12 E..V.......
1.3 13 E..V.......
2 20 E..V.......
2.1 21 E..V.......
2.2 22 E..V.......
3 30 E..V.......
3.1 31 E..V.......
3.2 32 E..V.......
4 40 E..V.......
4.1 41 E..V.......
4.2 42 E..V.......
5 50 E..V.......
5.1 51 E..V.......
5.2 52 E..V.......
6 60 E..V.......
6.1 61 E..V.......
6.2 62 E..V.......
对于 VAAPI,私有(private)编解码器选项
-sei:v +timing
必须传递给
h264_vaapi
.
h264_qsv
编码器包装:
ffmpeg -h encoder=h264_qsv
Encoder h264_qsv [H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration)]:
General capabilities: delay hybrid
Threading capabilities: none
Supported hardware devices: qsv qsv qsv
Supported pixel formats: nv12 p010le qsv
h264_qsv encoder AVOptions:
-async_depth <int> E..V....... Maximum processing parallelism (from 1 to INT_MAX) (default 4)
-avbr_accuracy <int> E..V....... Accuracy of the AVBR ratecontrol (from 0 to INT_MAX) (default 0)
-avbr_convergence <int> E..V....... Convergence of the AVBR ratecontrol (from 0 to INT_MAX) (default 0)
-preset <int> E..V....... (from 1 to 7) (default medium)
veryfast 7 E..V.......
faster 6 E..V.......
fast 5 E..V.......
medium 4 E..V.......
slow 3 E..V.......
slower 2 E..V.......
veryslow 1 E..V.......
-rdo <int> E..V....... Enable rate distortion optimization (from -1 to 1) (default -1)
-max_frame_size <int> E..V....... Maximum encoded frame size in bytes (from -1 to 65535) (default -1)
-max_slice_size <int> E..V....... Maximum encoded slice size in bytes (from -1 to 65535) (default -1)
-bitrate_limit <int> E..V....... Toggle bitrate limitations (from -1 to 1) (default -1)
-mbbrc <int> E..V....... MB level bitrate control (from -1 to 1) (default -1)
-extbrc <int> E..V....... Extended bitrate control (from -1 to 1) (default -1)
-adaptive_i <int> E..V....... Adaptive I-frame placement (from -1 to 1) (default -1)
-adaptive_b <int> E..V....... Adaptive B-frame placement (from -1 to 1) (default -1)
-b_strategy <int> E..V....... Strategy to choose between I/P/B-frames (from -1 to 1) (default -1)
-forced_idr <boolean> E..V....... Forcing I frames as IDR frames (default false)
-low_power <boolean> E..V....... enable low power mode(experimental: many limitations by mfx version, BRC modes, etc.) (default false)
-cavlc <int> E..V....... Enable CAVLC (from 0 to 1) (default 0)
-idr_interval <int> E..V....... Distance (in I-frames) between IDR frames (from 0 to INT_MAX) (default 0)
-pic_timing_sei <int> E..V....... Insert picture timing SEI with pic_struct_syntax element (from 0 to 1) (default 1)
-single_sei_nal_unit <int> E..V....... Put all the SEI messages into one NALU (from -1 to 1) (default -1)
-max_dec_frame_buffering <int> E..V....... Maximum number of frames buffered in the DPB (from 0 to 65535) (default 0)
-look_ahead <int> E..V....... Use VBR algorithm with look ahead (from 0 to 1) (default 0)
-look_ahead_depth <int> E..V....... Depth of look ahead in number frames (from 0 to 100) (default 0)
-look_ahead_downsampling <int> E..V....... Downscaling factor for the frames saved for the lookahead analysis (from 0 to 3) (default unknown)
unknown 0 E..V.......
auto 0 E..V.......
off 1 E..V.......
2x 2 E..V.......
4x 3 E..V.......
-int_ref_type <int> E..V....... Intra refresh type (from -1 to 65535) (default -1)
none 0 E..V.......
vertical 1 E..V.......
-int_ref_cycle_size <int> E..V....... Number of frames in the intra refresh cycle (from -1 to 65535) (default -1)
-int_ref_qp_delta <int> E..V....... QP difference for the refresh MBs (from -32768 to 32767) (default -32768)
-recovery_point_sei <int> E..V....... Insert recovery point SEI messages (from -1 to 1) (default -1)
-profile <int> E..V....... (from 0 to INT_MAX) (default unknown)
unknown 0 E..V.......
baseline 66 E..V.......
main 77 E..V.......
high 100 E..V.......
-a53cc <int> E..V....... Use A53 Closed Captions (if available) (from 0 to 1) (default 1)
-aud <int> E..V....... Insert the Access Unit Delimiter NAL (from 0 to 1) (default 0)
-mfmode <int> E..V....... Multi-Frame Mode (from 0 to 2) (default auto)
off 1 E..V.......
auto 2 E..V.......
-repeat_pps <boolean> E..V....... repeat pps for every frame (default false)
QSV 编码器包装器需要私有(private)编解码器选项
-pic_timing_sei:v 1
要设置,这是默认设置。这可以通过传递
0
被覆盖以禁用它。到上述参数。
h264_nvenc
上实现。和
libx264
编码器包装器,在邮件列表中有待完成的补丁工作:
关于windows - 如何在 RTMP 流中嵌入 pic_timing SEI 挂钟时间码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56167298/
我需要将文本放在 中在一个 Div 中,在另一个 Div 中,在另一个 Div 中。所以这是它的样子: #document Change PIN
奇怪的事情发生了。 我有一个基本的 html 代码。 html,头部, body 。(因为我收到了一些反对票,这里是完整的代码) 这是我的CSS: html { backgroun
我正在尝试将 Assets 中的一组图像加载到 UICollectionview 中存在的 ImageView 中,但每当我运行应用程序时它都会显示错误。而且也没有显示图像。 我在ViewDidLoa
我需要根据带参数的 perl 脚本的输出更改一些环境变量。在 tcsh 中,我可以使用别名命令来评估 perl 脚本的输出。 tcsh: alias setsdk 'eval `/localhome/
我使用 Windows 身份验证创建了一个新的 Blazor(服务器端)应用程序,并使用 IIS Express 运行它。它将显示一条消息“Hello Domain\User!”来自右上方的以下 Ra
这是我的方法 void login(Event event);我想知道 Kotlin 中应该如何 最佳答案 在 Kotlin 中通配符运算符是 * 。它指示编译器它是未知的,但一旦知道,就不会有其他类
看下面的代码 for story in book if story.title.length < 140 - var story
我正在尝试用 C 语言学习字符串处理。我写了一个程序,它存储了一些音乐轨道,并帮助用户检查他/她想到的歌曲是否存在于存储的轨道中。这是通过要求用户输入一串字符来完成的。然后程序使用 strstr()
我正在学习 sscanf 并遇到如下格式字符串: sscanf("%[^:]:%[^*=]%*[*=]%n",a,b,&c); 我理解 %[^:] 部分意味着扫描直到遇到 ':' 并将其分配给 a。:
def char_check(x,y): if (str(x) in y or x.find(y) > -1) or (str(y) in x or y.find(x) > -1):
我有一种情况,我想将文本文件中的现有行包含到一个新 block 中。 line 1 line 2 line in block line 3 line 4 应该变成 line 1 line 2 line
我有一个新项目,我正在尝试设置 Django 调试工具栏。首先,我尝试了快速设置,它只涉及将 'debug_toolbar' 添加到我的已安装应用程序列表中。有了这个,当我转到我的根 URL 时,调试
在 Matlab 中,如果我有一个函数 f,例如签名是 f(a,b,c),我可以创建一个只有一个变量 b 的函数,它将使用固定的 a=a1 和 c=c1 调用 f: g = @(b) f(a1, b,
我不明白为什么 ForEach 中的元素之间有多余的垂直间距在 VStack 里面在 ScrollView 里面使用 GeometryReader 时渲染自定义水平分隔线。 Scrol
我想知道,是否有关于何时使用 session 和 cookie 的指南或最佳实践? 什么应该和什么不应该存储在其中?谢谢! 最佳答案 这些文档很好地了解了 session cookie 的安全问题以及
我在 scipy/numpy 中有一个 Nx3 矩阵,我想用它制作一个 3 维条形图,其中 X 轴和 Y 轴由矩阵的第一列和第二列的值、高度确定每个条形的 是矩阵中的第三列,条形的数量由 N 确定。
假设我用两种不同的方式初始化信号量 sem_init(&randomsem,0,1) sem_init(&randomsem,0,0) 现在, sem_wait(&randomsem) 在这两种情况下
我怀疑该值如何存储在“WORD”中,因为 PStr 包含实际输出。? 既然Pstr中存储的是小写到大写的字母,那么在printf中如何将其给出为“WORD”。有人可以吗?解释一下? #include
我有一个 3x3 数组: var my_array = [[0,1,2], [3,4,5], [6,7,8]]; 并想获得它的第一个 2
我意识到您可以使用如下方式轻松检查焦点: var hasFocus = true; $(window).blur(function(){ hasFocus = false; }); $(win
我是一名优秀的程序员,十分优秀!