问题标签 [libavcodec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 带有音频的 Libavcodec
我正在学习使用libavcodec编程。但我被困住了。我使用的所有教程都是关于视频文件的,我需要一个音频文件。我正在使用 Ubuntu。
我应该如何AVCodecContext
从音频流中读取?
顺便说一句,有没有人知道关于libavcodec音频的好教程?我什么也找不到。
media - Media Foundation:无需容器即可解码和显示 H264 帧
场景是这样的:我的 Windows 客户端应用程序以自定义方式(专有协议)从网络源获取 H264 编码的帧,没有容器。帧的格式是已知的。我需要解码帧并显示视频。要求在高清流媒体期间播放完美无缺,但在其他场景中可以选择低延迟。
目前,我使用 ffmpeg 的 libavcodec 对帧进行解码,然后使用 StretchBlt 手动将它们显示在屏幕上。我们正在考虑迁移到 Media Foundation,但我不清楚 - 是否有可能拥有不使用容器的源?如果是这样,我需要创建一个自定义的吗?
也欢迎使用 Media Foundation 的替代方案。我目前使用的方法的主要问题是性能不够好,尤其是对于高清视频。
windows - libx264 - 为高清和标清捕获设置 AVCodecContext
我正在尝试AVCodecContext
正确配置以实时捕获高清(1080i)和标清(720 x 576) - 也是隔行扫描的。我在 Windows 操作系统上使用 libx264 和 ffmpeg 静态库。如果有人可以帮助flags
,gop_size
和max_b_frames
所有其他 AVCodecContext 的成员......
例如,我想我应该CODEC_FLAG_INTERLACED_ME | CODEC_FLAG_INTERLACED_DCT
设置标志。然而,我需要的是关于如何设置这一切的整个故事。
windows - x264 和 libavcodec
在尝试在 Windows 上使用 x264 编码器构建 ffmpeg 静态库后,我花了一些时间来编写一些示例。当然,有大量关于如何构建、如何使用、等等的“说明”……但是,它们都不能在 Windows 上运行。我猜Linux的家伙在这里处于更好的位置。现在,数十亿美元的问题是“这一切的目的是什么?”。不仅这在 Windows 上没用,而且我本可以购买一些真正有效的第三方库。
如果有人要说“但是,它有效!”。我必须说,给我一个工作证明。我不在乎 10fps 的 200x100。我不需要H264。向我展示如何压缩一秒钟的 1080i 素材。它是 H264,它是跨平台的(如果你问我,这听起来很有趣),谷歌正在使用它(它必须是完美的,对吧?),还有一些更时髦的......
video-capture - H264 (1080i) 的 AVCodecContext 设置
我正在尝试为 1080i 捕获配置 x264。下面的大多数设置都可以在不同的示例中找到。但是,一起编译它们不起作用。ffmpeg API 不报告错误,但avcodec_encode_video()
总是返回零。
有些数字对我来说很奇怪......例如,gop_size
。250是不是太高了?
如果您无法提供最终答案,我仍然对有关此主题的任何评论感兴趣。
c++ - sws_scale YUV --> RGB 扭曲图像
我想将YUV420P
图像(从H.264
流接收)转换为RGB
,同时使用sws_scale
.
原始图像的大小为480 × 800
。只需转换相同的尺寸就可以了。
但是当我尝试改变尺寸时,我得到一个扭曲的图像,具有以下模式:
- 更改为
481 × 800
会产生扭曲的黑白图像,看起来像是在中间被剪掉了 482 × 800
会更加扭曲483 × 800
变形但有颜色484 × 800
没问题(正确缩放)。
现在遵循这种模式 - 只有当两者之间的差异除以 4 时,缩放才能正常工作。
这是我解码和转换图像的方式的示例代码。所有方法都显示“成功”。
libavcodec - 转换媒体文件
如何使用 libavcodec 将媒体文件从 mp4(aac 和 libx264)转换为 mp4(mp3 和 h264)?谁能解释我必须做的步骤?据我所知,我必须解码然后将音频和视频流编码到目标编解码器。但是如何将这些流保存到 mp4 文件中呢?
cuda - FFMPEG 是否使用 CUDA 或任何其他硬件加速?
简单的问题,但我很难找到答案。
我们正在决定转码引擎(最好是开源的),在我看来 FFMPEG 不使用硬件加速,但我不确定。
我相信 ffmpeg 使用 libavcodec,与 Handbrake 等无数其他产品中使用的库相同。我不敢相信他们不支持硬件加速,因此,我的问题。
ffmpeg - x264_coeff_last64_sse2
x264 库一如既往地在 Windows 上崩溃。现在,我正在尝试修复它,但我不明白一件事。在代码中我们只能看到函数签名:
但是,*.h、*.c 或 *.asm 源中没有实现。这怎么可能???
(该函数被调用并且它崩溃了,所以它必须被链接进去)
ffmpeg - avcodec_find_decoder(CODEC_ID_MPEG2TS) 始终为 NULL
我想解码传入的 MPEG2 传输流,然后将其编码为 h264。h264 编解码器一切正常,但问题是 libavcodec 似乎无法识别 MPEG2-Transportstream。我基本上是在模仿官方的例子:
http://ffmpeg.org/doxygen/trunk/decoding__encoding_8c-source.html
ptrCodec 始终为 NULL。有人可以帮我吗?