标签: mpeg

ffmpeg av libs可以返回准确的PTS吗?

我正在使用一个使用IBBP ... GOP序列的mpeg流.(DTS,PTS)前4个AVPackets返回的值如下:I=(0,3) B=(1,1) B=(2,2) P=(3,6)

I帧上的PTS看起来是合法的,但是B帧上的PTS不能正确,因为B帧不应该在I帧之前显示,因为它们的PTS值表示.我也尝试解码数据包并在生成的AVFrame中使用pts值,将PTS始终设置为零.

有没有办法从ffmpeg中获得准确的PTS?如果没有,那么同步音频的最佳方式是什么呢?

dts mpeg ffmpeg pts

8
推荐指数
2
解决办法
1万
查看次数

通过.NET访问MPEG传输包

我必须使用.NET处理MPEG 2传输包.最好的方法是什么?目前我正在考虑使用OpenCV来实现这一目标,但不确定是否可行.

.net c# opencv mpeg mpeg-2

8
推荐指数
2
解决办法
6974
查看次数

Chromium Embedded Framework MP3支持

我已经下载了适用于Windows的Chromium Embedded Framework r306并构建了它.不幸的是,它表明它不支持mp3:

<script>
var a = document.createElement("audio");
document.write(a.canPlayType('audio/mpeg'));
</script>
Run Code Online (Sandbox Code Playgroud)

输出为空,当我尝试打开mp3文件时,无法播放(ogg可播放).

谷歌Chrome同时写"可能"(并且实际播放).

如何在CEF中添加对MP3的支持?

mp3 mpeg chromium chromium-embedded

8
推荐指数
3
解决办法
1万
查看次数

在Mac OS X Lion上安装libmad:"错误:您选择的CPU不支持x86-64指令集"

我正在尝试在Mac OS X 10.7 Lion上安装需要libmad(MPEG音频解码器库)库的程序,但安装libmad.0.15.b会导致此错误:

version.c:1: error: CPU you selected does not support x86-64 instruction set
Run Code Online (Sandbox Code Playgroud)

该库在OS X 10.5上安装得很好.它是64位兼容性问题吗?我找不到有关在Lion上安装的任何具体说明或文档.有什么建议?谢谢.

unix macos mpeg osx-lion

8
推荐指数
1
解决办法
2298
查看次数

GoPro:获取每个帧时间戳

我目前正在尝试从使用GoPro录制的MPEG-4文件中提取每个帧时间戳.

我想要相机捕获帧的确切时间,以便稍后将其与计算机视觉算法结合起来.

我知道输出帧速率是25 fps.我使用ffmpeg和ffprobe以不同的方式提取了pts,但它们都显示出太完美的结果让我相信它们.

每个帧/包具有精确的0.04秒内部(或3600英寸单位),足够方便地匹配完美的25 fps.

我到目前为止使用的命令是:

ffmpeg -i 3_96025.MP4  -an -vf showinfo %10d.png 2> res.txt
Run Code Online (Sandbox Code Playgroud)

我也试过用

ffmpeg -i 3_96025.MP4 **-copyts** -an -vf showinfo %10d.png 2> res.txt
Run Code Online (Sandbox Code Playgroud)

但结果完全一样.

我也试过ffprobe:

ffprobe -i 396025.MP4 -show_packets -select_streams v
Run Code Online (Sandbox Code Playgroud)

我得到的间隔也很完美.

我很确定gopro无法以如此完美的方式维持25 fps.另外,我记录了一个计时器,我可以看到每个帧不完全匹配0.04秒的间隔. 那么我有没有办法真正看到每帧被捕获的时间?

这是我用ffmpeg获得的输出的一部分供参考:

frame=   42 fps= 26 q=0.0 size=N/A time=00:00:01.36 bitrate=N/A    
n:42 pts:151200 pts_time:1.68 pos:3232584 fmt:yuv420p sar:1/1 s:1280x960 i:P iskey:0 type:B checksum:6A83E942 plane_checksum:[1C859E55 79A4ED3E 28E25DA0]
[Parsed_showinfo_0 @ 0037dea0] n:43 pts:154800 pts_time:1.72 pos:3255334 fmt:yuv420p sar:1/1 s:1280x960 i:P iskey:0 type:B checksum:5736F4C1 plane_checksum:[ACAD00D0 06FFDE34 …
Run Code Online (Sandbox Code Playgroud)

mpeg ffmpeg mpeg-4 gopro

7
推荐指数
0
解决办法
6070
查看次数

如何以编程方式创建视频?

是否有免费的库可以从图像序列中创建MPEG(或任何其他简单的视频格式)?

它也必须在Linux上运行,理想情况下还有Python绑定.

linux video mpeg

6
推荐指数
1
解决办法
7517
查看次数

如何创建MPEG-DASH的MPD文件来播放webm视频?

我正在关注这个使用mediaSource API和MPEG DASH标准播放.webm视频的演示.这是使用的MPD文件:

<?xml version="1.0" encoding="UTF-8"?>
<MPD
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns="urn:mpeg:DASH:schema:MPD:2011"
  xsi:schemaLocation="urn:mpeg:DASH:schema:MPD:2011"
  type="static"
  mediaPresentationDuration="PT888.05S"
  minBufferTime="PT1S"
  profiles="urn:webm:dash:profile:webm-on-demand:2012">
  <Period id="0" start="PT0S" duration="PT888.05S" >
  <AdaptationSet id="0" mimeType="video/webm" codecs="vp8" lang="eng" width="720"      height="306" subsegmentAlignment="true" subsegmentStartsWithSAP="1" bitstreamSwitching="true">
  <Representation id="1" bandwidth="534144">
    <BaseURL>mevq_logo_720x306_0250k_int-150-150.webm</BaseURL>
    <SegmentBase indexRange="29052226-29054708">
      <Initialization range="0-229" />
    </SegmentBase>
  </Representation>
  <Representation id="2" bandwidth="1078766">
    <BaseURL>mevq_logo_720x306_0500k_int-150-150.webm</BaseURL>
    <SegmentBase indexRange="56003676-56006200">
      <Initialization range="0-229" />
    </SegmentBase>
  </Representation>
  <Representation id="3" bandwidth="1745140">
    <BaseURL>mevq_logo_720x306_0750k_int-150-150.webm</BaseURL>
    <SegmentBase indexRange="83686040-83688577">
      <Initialization range="0-229" />
    </SegmentBase>
  </Representation>
  <Representation id="4" bandwidth="2295403">
    <BaseURL>mevq_logo_720x306_1000k_int-150-150.webm</BaseURL>
    <SegmentBase indexRange="111588024-111590567">
      <Initialization range="0-229" />
    </SegmentBase>
  </Representation>
  <Representation id="5" bandwidth="3797938"> …
Run Code Online (Sandbox Code Playgroud)

xml mpeg html5-video webm mpeg-dash

6
推荐指数
1
解决办法
1万
查看次数

如何查看 .mp4 视频文件的“代码”?

我知道我的术语不正确,但在视频方面我是一个完整的新手。

我有一个普通的 .mp4 视频文件。我使用 MP4Box 来分割视频文件,这样我就可以使用支持 MPEG dash 的视频播放器播放它。它不是通过创建多个较小的视频文件来分割的。它会创建一个比旧视频文件大一点的新的大视频文件。

我想将常规视频文件与虚线视频文件进行比较,看看 MP4Box 对它做了什么来分割它。我相信它正在向新视频文件添加某种类型的标题。显然,当我在文本编辑器中打开它时,它是不可读的。我该如何比较这些文件?

video mpeg video-streaming mpeg-dash

6
推荐指数
1
解决办法
9647
查看次数

MediaFoundation SinkWriter:启用 MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS 会导致 WriteSample 失败并出现 E_FAIL 错误

我正在尝试将 RGB/NV12 样本编码为 h264,并通过实现 IMFByteStream 通过 SinkWriter 通过 WebSocket 流式传输编码的视频。在这个实验中,我使用像素着色器将 RGB32 样本转换为 NV12 样本。输出格式为带有 FMPEG4 容器的 H264。

我也尝试过直接输入 RGB 样本。通过软件方法它对 RGB 和 NV12 样本都可以正常工作,但是当取消注释下面提到的行时,WriteSample 失败并出现 E_FAIL 错误。不过,我正在正确设置 MF_SINK_WRITER_D3D_MANAGER。

COM_CHECK(attribs->SetUINT32(MF_READWRITE_ENABLE_HARDWARE_TRANSFORMS, TRUE));
Run Code Online (Sandbox Code Playgroud)

MFtrace 日志:

59980,EB60 10:18:27.65002 ### Exiting: traced process has exited
CMFPlatExportDetours::MFStartup @ Version=0x00020070, dwFlags=0x00000000
59980,EB60 10:18:27.65448 COle32ExportDetours::CoCreateInstance @ Created {60F9F51E-4613-4B35-AE88-332542B567B8} MF Fragmented MPEG4 Sink Class Factory (C:\WINDOWS\System32\mfmp4srcsnk.dll) @04B80148 - traced interfaces:
59980,EB60 10:18:27.65700 COle32ExportDetours::CoCreateInstance @ Created {9A02E012-6303-4E1E-B9A1-630F802592C5} Packed Property Storage Object (C:\WINDOWS\system32\propsys.dll) @012D5FEC - traced interfaces:
59980,EB60 10:18:27.65931 COle32ExportDetours::CoCreateInstance @ …
Run Code Online (Sandbox Code Playgroud)

directx mpeg h.264 ms-media-foundation

6
推荐指数
0
解决办法
352
查看次数

使用 ffmpeg 从图像和 MP3 文件创建与 iPhone 兼容的视频

我有以下命令用于从图像和 MP3 文件创建 MP4 视频文件,它在桌面和 Android 手机上的 Chrome 浏览器中播放良好 - 但在 iPhone 10 上不起作用。我需要一些额外的编解码器或设置来使其与 iPhone 兼容吗?为了更广泛的兼容性,我应该将其转换为 MPEG 文件吗?

ffmpeg -loop 1 -i 6f4aa5dfefc4dd32186f41315ad9d1e2-0.png -i "music.mp3" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest aa-image0.mp4
Run Code Online (Sandbox Code Playgroud)

以下是用于创建 MP4 视频的输入MP3 文件的 ffprobe 详细信息以及该输出文件的 ffprobe :

Input #0, wav, from 'download0.mp3':
  Duration: 00:00:35.94, bitrate: 384 kb/s
    Stream #0:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 24000 Hz, 1 channels, s16, 384 kb/s
Run Code Online (Sandbox Code Playgroud)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'aa-image0.mp4':
  Metadata:
    major_brand …
Run Code Online (Sandbox Code Playgroud)

video mp4 mpeg ffmpeg codec

6
推荐指数
1
解决办法
728
查看次数