标签: codec

mp4 atom - 如何区分音频编解码器?是AAC还是MP3?

我正在研究一个mp4容器解析器,但是我疯狂地试图识别流的音频编解码器.我使用了QtAtomViewer和AtomicParsley,但是当我找到原子时:

trak-> mdia-> minf-> stbl-> STSD

即使mp4文件有mp3流,我也总是"mp4a".

我应该找一个".mp3"fourcc吗?

我附加了两个不同的mp4结构:带有AAC音频流的mp4容器

     Atom trak @ 716882 of size: 2960, ends @ 719842
     Atom tkhd @ 716890 of size: 92, ends @ 716982
     Atom mdia @ 716982 of size: 2860, ends @ 719842
         Atom mdhd @ 716990 of size: 32, ends @ 717022
         Atom hdlr @ 717022 of size: 33, ends @ 717055
         Atom minf @ 717055 of size: 2787, ends @ 719842
             Atom dinf @ 717063 of size: 36, ends @ 717099
                 Atom …
Run Code Online (Sandbox Code Playgroud)

audio mp4 codec

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

Media Player Android应用程序(如MXPlayer和MoboPlayer)如何播放不受支持的文件格式,如MKV?

默认情况下,Android不支持许多媒体文件格式(如.mkv等文件).但是像MXPlayer和MoboPlayer这样的玩家可以让你播放这些文件.这些应用程序如何工作?是否有任何编程教程或文章解释它是如何完成的?

video android codec mkv

12
推荐指数
1
解决办法
7564
查看次数

H.264流媒体要求

我正在寻找有关访问者成功传输1 Mbps 640x360 H.264编码视频所需的最低要求的更多信息.我知道用户需要最新的Flash 9版本.我正在寻找他们的计算机的最低要求.

我们希望为我们的视频切换到此编解码器,但不要为计算机速度较慢的人破坏我们的网站.问题是:速度有多慢?我们会疏远1%,5%,50%吗?我真的不知道.

我发现的最佳信息是微软网站上关于720p播放的要求:http://www.microsoft.com/windows/windowsmedia/content_provider/film/ChoosingPC.aspx

这里的区别在于真正的"高清"720p(!280x720)介于5-10 Mbps之间.我们的流量分辨率只有一半,只有1 Mbps.

任何进一步的信息将不胜感激.

video streaming codec video-streaming h.264

11
推荐指数
2
解决办法
3789
查看次数

为什么mp4视频在iPad上播放得很好,而不是在iPhone上?

我对这个问题感到非常难过.

我有一个大型的H.264 mp4视频文件库,我需要在iOS上播放.最初,我只针对iPad,但要求已经改变,现在我需要包括iPhone.但我注意到我的iPod Touch与我的iPad具有完全相同的操作系统版本和内置ID,将无法播放我在iPad上成功使用的相同文件.我已经与一位同事拥有相同版本和版本的iPhone和iPad确认了这一点.我在iPad模拟器中也看到过完全相同的行为,但直到现在我才认为它是模拟器的怪癖.现在我不太确定.

mp4使用以下设置进行编码:

AVC Coding 640x360, Millions
AAC, Stereo (L R), 44.100 kHz
29.97 fps
693.35kb/s
Run Code Online (Sandbox Code Playgroud)

我已经尝试从多个服务器甚至本地加载媒体,它似乎没有什么区别.

如果我将这些文件从QuickTime导出为m4v文件,它们可以在所有设备和模拟器上正常运行,所以我的直觉告诉我这是一个我缺少的编码器设置.

为了消除所有其他可能的因素,我尝试直接从Mobile Safari地址栏调用视频文件.我已经确认在以下匹配版本中发生了这种情况:

设备:

  • 4.2.1(8C148) - 在iPad上播放,而不是在iPhone上播放.

模拟器:

  • 3.2(7W367a) - 在iPad上播放没问题(没有iPhone版)
  • 4.0.2(8A400) - 不玩iPhone(没有iPad版)
  • 4.1(8B117) - 不玩iPhone(没有iPad版)
  • 4.2(8C134) - 不播放iPhone或iPad

我已经浏览了iOS更新日志,寻找任何可能解释为什么视频解压缩器应该在一个版本而不是另一个版本上工作的东西,我找不到任何跳出来的东西.

任何人都有任何想法可以支持这个以及如何解决它?

iphone video codec ipad

11
推荐指数
1
解决办法
9187
查看次数

iPhone和Android可以录制和播放哪种音频格式?

我正在设计一款可以在iPhone和Android上录制短音频文件的应用程序,可以在两个平台上播放,也可以在任何其他智能手机上播放.

现在我正在使用*.caf和iLBC编解码器,因为我知道iPhone不编码mp3.

在这种情况下我应该使用文件格式/编解码器吗?

iphone android codec

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

打印到UTF-8编码文件,具有依赖于平台的换行符?

在Python中,使用与平台相关的换行符写入UTF-8编码文件的最佳方法是什么?理想情况下,该解决方案在Python 2中进行大量打印的程序中非常透明地工作.(有关Python 3的信息也很受欢迎!)

事实上,写入UTF-8文件的标准方式似乎是codecs.open('name.txt','w').但是,文档表明了这一点

(...)在读写时不会自动转换'\n'.

因为该文件实际上是以二进制模式打开的.那么,如何使用适当的平台相关换行符写入UTF-8文件?

注意:"t"模式似乎实际上是在Windows XP上使用Python 2.6完成工作(codecs.open('name.txt','wt')),但这是否有记录并保证可以正常工作?

python text newline utf-8 codec

11
推荐指数
1
解决办法
7444
查看次数

安装mov到mp4转换ffmpeg的编解码器

我一直在尝试将.mov文件转换为.mp4文件一段时间,我认为这是正确的代码.

ffmpeg  -i P1010989.MOV -vcodec copy -acodec copy out.mp4
Run Code Online (Sandbox Code Playgroud)

但这是我的输出

FFmpeg version 0.6.5, Copyright (c) 2000-2010 the FFmpeg developers
  built on Jan 29 2012 23:55:02 with gcc 4.1.2 20080704 (Red Hat 4.1.2-51)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --mandir=/usr/share/man --incdir=/usr/include --disable-avisynth --extra-cflags='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -fPIC' --enable-avfilter --enable-avfilter-lavf --enable-libdirac --enable-libfaac --enable-libfaad --enable-libfaadbin --enable-libgsm --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libx264 --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-shared --enable-swscale --enable-vdpau --enable-version3 --enable-x11grab
  libavutil     50.15. 1 / 50.15. 1
  libavcodec    52.72. 2 / …
Run Code Online (Sandbox Code Playgroud)

mp4 ffmpeg codec mov

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

ffmpeg从H.264(高4:4:4配置文件)转换为H.264(主配置文件)

如何使用ffmpeg将视频从H.264(高4:4:4配置文件)转换为H.264(主配置文件)?

我不能用这个命令做到这一点:ffmpeg -i 1/25359.mp4 -profile:v main out.mp4.

那会返回一个错误:

...
That'd return an error:
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1/25359.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf56.40.101
  Duration: 00:00:06.08, start: 0.000000, bitrate: 1059 kb/s
    Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv444p, 351x297, 1057 kb/s, 12.50 fps, 12.50 tbr, 12800 tbn, 25 tbc (default)
    Metadata:
      handler_name    : VideoHandler
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility …
Run Code Online (Sandbox Code Playgroud)

video ffmpeg converter codec

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

如何从MediaCodec解码器的输出中提取PCM样本

我正在尝试从解码的mp4缓冲区获取PCM样本以进行进一步处理.我首先从用手机的相机应用程序记录的视频文件中提取音轨,当我收到'audio/mp4'mime键时,我确保选择了音轨:

MediaExtractor extractor = new MediaExtractor();
try {
    extractor.setDataSource(fileUri.getPath());
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}
int numTracks = extractor.getTrackCount();
for(int i =0; i<numTracks; ++i) {
    MediaFormat format = extractor.getTrackFormat(i);
    String mime = format.getString(MediaFormat.KEY_MIME);
    //Log.d("mime =",mime);
    if(mime.startsWith("audio/")) {
        extractor.selectTrack(i);
        decoder = MediaCodec.createDecoderByType(mime);
        decoder.configure(format, null, null, 0);

        //getSampleCryptoInfo(MediaCodec.CryptoInfo info)
        break;
    }
}
if (decoder == null) {
    Log.e("DecodeActivity", "Can't find audio info!");
    return;
}
decoder.start();
Run Code Online (Sandbox Code Playgroud)

之后,我遍历轨道,向编解码器提供编码访问单元流,并将解码后的访问单元拉入ByteBuffer(这是我从此处发布的视频呈现示例中回收的代码https://github.com/vecio/MediaCodecDemo):

ByteBuffer[] inputBuffers = decoder.getInputBuffers();
ByteBuffer[] outputBuffers = decoder.getOutputBuffers(); …
Run Code Online (Sandbox Code Playgroud)

audio android codec

10
推荐指数
1
解决办法
5369
查看次数

Web 编解码器 API 中要使用的有效编解码器字符串是什么?

我想确切地知道我可以传递哪些字符串codecVideoEncoder.isConfigSupported({ codec, width, height })但到目前为止我还没有找到明确的答案:

  • TS 声明文件仅明确它必须是一个字符串(我希望我能在那里找到字符串常量的并集 ^^)
  • 谷歌的这篇网络编解码器文章仅精确说明这vp8是一个有效的编解码器字符串
  • 规格是一个兔子洞,我很难导航
    • 它们描述了编解码器字符串应该做什么,但不包括广泛的列表
    • 他们明确规定编解码器字符串必须匹配av01.*avc1.*vp8vp09.*。从那里,有一些链接可以找到更多信息,但我找不到如何导航它们。例如,我想知道哪些编解码器以 开头av01.,因此我访问了其注册页面,该页面链接theretherethere。前两个链接没有说明完全限定的编解码器字符串,最后一个链接链接到我最初开始的网络编解码器规范:/
  • 这个关于 mime 类型编解码器的 MDN 页面非常完整,并解释了创建编解码器字符串的规则,但我尝试过的很多内容似乎都不起作用

由于目前只有基于 chromium 的浏览器支持此功能,因此我决定查找 chromium 源代码,并发现列出了更多编解码器字符串的位置:

javascript codec

10
推荐指数
1
解决办法
1138
查看次数

标签 统计

codec ×10

video ×4

android ×3

audio ×2

ffmpeg ×2

iphone ×2

mp4 ×2

converter ×1

h.264 ×1

ipad ×1

javascript ×1

mkv ×1

mov ×1

newline ×1

python ×1

streaming ×1

text ×1

utf-8 ×1

video-streaming ×1