encoding - Rust 的 GStreamer 编辑服务 / 如何指定编码器设置
问题描述
我是 gstreamer-rs 的新手。我尝试使用 GStreamer 编辑服务渲染视频。目前我正在使用示例代码对配置文件进行如下编码:
let p = gstreamer_editing_services::Pipeline::new();
let t = gstreamer_editing_services::Timeline::new_audio_video();
p.set_timeline(&t);
let l = t.append_layer();
// Every audiostream piped into the encodebin should be encoded using vorbis.
let audio_profile = gstreamer_pbutils::EncodingAudioProfileBuilder::new()
.format(&gstreamer::Caps::new_simple("audio/x-opus", &[]))
.presence(0)
.build()?;
// Every videostream piped into the encodebin should be encoded using theora.
let video_profile = gstreamer_pbutils::EncodingVideoProfileBuilder::new()
.format(&gstreamer::Caps::new_simple("video/x-h264", &[]))
.presence(0)
.build()?;
// All streams are then finally combined into a matroska container.
let container_profile = gstreamer_pbutils::EncodingContainerProfileBuilder::new()
.name("container")
.format(&gstreamer::Caps::new_simple("video/x-matroska", &[]))
.add_profile(&(video_profile))
.add_profile(&(audio_profile))
.build()?;
p.set_render_settings("file:///tmp/my.mp4", &container_profile);
代码正在运行;但我对如何强制执行特定设置一无所知。也许有人可以帮忙。
- 您如何为音频和视频编码器设置比特率、帧率和质量选项?
- 您如何定义特定的编码器(例如用于 h264 视频的 nvenc/nvh264enc)?
解决方案
推荐阅读
- java - 处理具有相同属性的不同对象时如何使用泛型
- python - 为多变量和多步输出构建 LSTM
- python - 使用 get_close_matches() 查找匹配项,列表包含元组
- android - AutoSizeTextType 统一不适用于 Xamarin.Android 中的自定义文本视图
- swift - 指向错误路径的核心数据 NSManagedObject 类
- python - 在 M1 mac 上安装 pip:当版本实际存在时,找不到与版本匹配的发行版
- fancybox - 带有视频支持 Vue 3 的弹出式画廊插件?
- spring - 将 Kotlin 后端路由到 Typescript 前端
- android-intent - Android createIntent 自定义建议
- python - PDF 数据在使用 TableauServerClient 包获取后变得杂乱无章