标签: bitrate

Python在Mac OS上以块的形式解码MP3

我有一个Tornado Python服务器,它一次接受一个可变比特率mp3文件(块由固定数量的帧组成).

我正在做的就是向前传递二进制文件,但是,我想知道块的持续时间.因为它是可变比特率我不能做一个简单的计算.我正在研究pymedia,但我在Mac OS上开发,似乎pymedia无法在那里安装(此外,它自2006年以来一直没有更新).我也试过pymad但是无法安装它(自2007年以来它没有更新),无论如何它似乎更加以文件为中心.

理想情况下,我想,该方式从每个块中提取比特率诱变会为例子.但是,mutagen需要一个文件作为输入,而我希望输入一个mp3帧或一系列这样的帧.

def _on_read_frames(self, data):
  logging.info('read from input:\n%s', data)
  binary_audio = base64.b64decode(data)
  # need to find out how many miliseconds went by here
Run Code Online (Sandbox Code Playgroud)

更新:这是近实时流式架构的一部分,因此mp3以小块编码,因此我目前的解决方案是使用恒定比特率,这允许简单的计算,我意识到使用可变比特率几乎没有任何好处这里.

python audio mp3 header bitrate

5
推荐指数
1
解决办法
763
查看次数

ffprobe 显示 h264 流的比特率为 0.0 或 N/A

我有一个 11 分钟的 .mkv 文件,其中包含一个 h264 视频流,占用 184MB 的空间。我想减小这个文件的大小。我想我可以降低比特率。但是 ffprobe 不输出任何内容。事实上,它说文件的长度是根据比特率计算的,因此可能不准确,但摘要或 [FORMAT] 条目中都没有比特率:

> ffprobe -show_format file.mkv
[matroska,webm @ 0x7f8e8084b200] Estimating duration from bitrate, this may be inaccurate
Input #0, matroska,webm, from 'file.mkv':
  Duration: 00:11:11.59, start: 0.000000, bitrate: N/A
    Stream #0.0: Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 1k tbn, 59.94 tbc (default)
    Stream #0.1: Audio: aac, 48000 Hz, 5.1, s16 (default)
[FORMAT]
...
bit_rate=0.000000 
[/FORMAT]
Run Code Online (Sandbox Code Playgroud)

谢谢你。

编辑:我的理解是 H.264 是一种协议。因此,根据 ffprobe 文档,我无法判断 h264 编解码器使用了什么实现。如果有人知道,我将不胜感激。

ffmpeg bitrate

4
推荐指数
1
解决办法
8797
查看次数

ffmpeg FLAC 24位96khz至16位48khz

试图找出ffmpeg,目前致力于将24bit/96khz FLAC文件转换为16bit/48khz.

audio ffmpeg bitrate flac

4
推荐指数
2
解决办法
7741
查看次数

Flash编码(FLV):什么是首选比特率?

我继承了一个项目,该项目将视频发送到远程编码器以编码为FLV.

今天,我注意到我们要求他们以1024kbps的速度编码对我而言,这似乎非常高.

其他人用的是什么?YouTube用于"标准"版本与"高质量"版本的用途是什么?

先感谢您.

flash video flv bitrate

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

如何为媒体记录器 android 使用不同的音频编码比特率

在我的应用程序中,我使用媒体录音机进行录音。我想使用不同的比特率 32,64,128,160 等。

recorder = new MediaRecorder();
    /******Audio Source******/
    try{
        if(audio_source.equals("Camcorder"))
            recorder.setAudioSource(MediaRecorder.AudioSource.CAMCORDER);
        else if(audio_source.equals("MIC"))
            recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
        else recorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
    }
    catch(Exception e){
        recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    }



    /******Audio Channel******/
    try{
        if(audio_channel.equalsIgnoreCase("mono")){
            recorder.setAudioChannels(1);
        }
        else if(audio_channel.equalsIgnoreCase("stereo")){
            recorder.setAudioChannels(2);
        }
    }
    catch(Exception e){
        recorder.setAudioChannels(1);
    }

    System.out.println(" bitrate -- "+bit_rate);

    if (Build.VERSION.SDK_INT >= 10) {
        recorder.setAudioSamplingRate(44100);//44100

    }
    else{
        recorder.setAudioSamplingRate(8000);//44100

    }
    /******AudioEncodingBitRate******/
    try{
        System.out.println(" in try ..."+bit_rate);
        if(bit_rate.equalsIgnoreCase("32")){
            recorder.setAudioEncodingBitRate(32000);
        }
        else if(bit_rate.equalsIgnoreCase("64")){
            recorder.setAudioEncodingBitRate(64000);
        }
        else if(bit_rate.equalsIgnoreCase("96")){
            recorder.setAudioEncodingBitRate(96000);
        }
        else if(bit_rate.equalsIgnoreCase("128")){
            recorder.setAudioEncodingBitRate(128000);
        }
        else if(bit_rate.equalsIgnoreCase("160")){
            recorder.setAudioEncodingBitRate(160000);
        }
    }
    catch(Exception e){
        recorder.setAudioEncodingBitRate(64); …
Run Code Online (Sandbox Code Playgroud)

android bitrate mediarecorder

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

如何找到AVPlayer当前比特率

我正在尝试获取AVPlayer播放视频流的比特率。我尝试使用的observed bit rate属性AVPlayerItemAccessLogEvent,但它提供了很高Observed-bit-rate的价值download rate of a segment。进一步研究属性后,我了解到该属性显示的值。我需要知道播放器播放流的比特率。

下图显示了LIVE流的“观察到的比特率”与“指示的比特率”。 在此处输入图片说明

请就这个问题提出您的建议。

我尝试了以下链接,但没有运气:

/sf/answers/1039219821/

MPMoviePlayerController MovieAccessLogEvent-膨胀的observedBitrate

bitrate avplayer ios7 avplayeritem

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

每秒获取位数 FFmpeg/Mediainfo

有什么方法可以获取任何视频中每秒的位数?

英语:

ffmpeg/mediainfo -commands input.mkv
Run Code Online (Sandbox Code Playgroud)

结果:

sec 1 - 500bits
sec 2 - 600bits
sec 3 - 300bits
Run Code Online (Sandbox Code Playgroud)

谢谢!

ffmpeg bit bitrate mediainfo

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

如何在pydub中获得相同比特率的输入和输出文件?

我已经使用 pydub 输出文件(将文件切成较短的文件),一切都很好,但比特率已从 256k 变为 124k(为什么我会得到这个数字而不是 128k?)。我知道 AudioSegment 有一个设置比特率的参数,但我只想要相同的比特率而不是每次手动设置。有什么办法可以解决这个问题?

python audio bitrate pydub

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

使用 ffmpeg 处理视频而不损失质量

我使用 ffmpeg 旋转视频,代码如下:

ffmpeg -i nd750_a0040.MOV -vf "transpose=dir=clock, transpose=dir=clock" out.mkv
Run Code Online (Sandbox Code Playgroud)

生成的文件几乎比输入文件小 10 倍。我发现这个问题解决了一个相关问题,并建议将从以下内容获得的编解码器和比特率传递给 ffmpeg:

bitratev="$(ffmpeg -i "$1" -f null - |& grep video: | awk -F'[:|kB]' '{print $2}')"
codecv="$(ffprobe -loglevel error -select_streams v:0 -show_entries stream=codec_name -of default=nk=1:nw=1 "$1")"
Run Code Online (Sandbox Code Playgroud)

但是,这两个命令分别为两个文件提供了相同的输出:2643h264。我假设 ffmpeg 默认情况下将这些值保持为相同的输出是否正确?

但是,如果我检查文件,ffmpeg -i我会得到不同的比特率值:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'nd750_a0040.MOV':
  Metadata:
    major_brand     : qt  
    minor_version   : 537331968
    compatible_brands: qt  niko
    creation_time   : 2016-06-18 04:28:03
  Duration: 00:15:40.74, start: 0.000000, bitrate: 11569 kb/s
    Stream #0:0(eng): Video: …
Run Code Online (Sandbox Code Playgroud)

video ffmpeg video-processing bitrate

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

FFMPEG - “-ab”和“-b:a”之间的区别

据我所知,两个命令行参数都改变了音频比特率,但我不确定,因为我也看到了它们的组合。基本上我找不到任何解释这两个命令的文档。也可能是 -ab 被替换为 -b:a 但我不确定。

audio ffmpeg codec bitrate

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