Beispiel #1
0
def test_run_from_stream():
    url = "tests/assets/testaudio-1m.mp3"
    sample_fmt = "s16"
    out_codec, container = utils.get_audio_codec(sample_fmt)

    with open(url, "rb") as f:
        args = {
            "inputs": [("-", {
                "f": "mp3"
            })],
            "outputs": [("-", {
                "f": container,
                "c:a": out_codec,
                "sample_fmt": sample_fmt
            })],
        }
        out = ffmpegprocess.run(args, capture_log=True, stdin=f)

    print(f"FFmpeg output: {len(out.stdout)} bytes")
    print(out.stderr)
Beispiel #2
0
def test_run_progress():
    url = "tests/assets/testaudio-1m.mp3"
    sample_fmt = "s16"
    out_codec, container = utils.get_audio_codec(sample_fmt)

    def progress(*args):
        print(args)
        return False

    with open(url, "rb") as f:
        args = {
            "inputs": [("-", {
                "f": "mp3"
            })],
            "outputs": [("-", {
                "f": container,
                "c:a": out_codec,
                "sample_fmt": sample_fmt
            })],
        }

        ffmpegprocess.run(args, capture_log=True, progress=progress, stdin=f)
Beispiel #3
0
def test_popen():
    url = "tests/assets/testaudio-1m.mp3"
    sample_fmt = "s16"
    out_codec, container = utils.get_audio_codec(sample_fmt)

    with open(url, "rb") as f:
        args = {
            "inputs": [("-", {
                "f": "mp3"
            })],
            "outputs": [("-", {
                "f": container,
                "c:a": out_codec,
                "sample_fmt": sample_fmt
            })],
        }

        proc = ffmpegprocess.Popen(args, capture_log=True, stdin=f)
        x = proc.stdout.read()
        if proc.wait(50) is None:
            print("ffmpeg not stopping")
            proc.kill()

    print(f"FFmpeg output: {len(x)} samples")
from ffmpegio import utils, audio, streams

import PyQt5
from matplotlib import pyplot as plt

# import logging
# logging.basicConfig(level=logging.DEBUG)

url = "tests/assets/testaudio-1m.mp3"
sample_fmt = "s16"
ac = 1
out_codec, container = utils.get_audio_codec(sample_fmt)
dtype, shape = utils.get_audio_format(sample_fmt, ac)

fs, s = audio.read(url, sample_fmt=sample_fmt, ac=1)

N = s.shape[0]
print(f"N={N}")
nread = 10000
T = nread / fs

# read random
reader = streams.SimpleAudioReader(url)

# while True:
#     x = reader.read(int(fs))
#     if x is None or not x.size:
#         break
#     print(x.shape)

for x in reader.readiter(int(fs)):
Beispiel #5
0
def test_get_audio_codec():
    cfg = utils.get_audio_codec("s16")
    assert cfg[0] == "pcm_s16le" and cfg[1] == "s16le"