标签: audio

仅使用 ffmpeg 按语言转换特定视频和音频轨道

例如,如果我的视频有 3 个音频流:1 个英语、1 个德语、1 个立陶宛语。对于每个视频,它可以按随机顺序排列,如果我不知道女巫编号是立陶宛语音频,我将如何转换文件并仅选择立陶宛语?因此,对于一个视频,立陶宛语将是第三个音轨,而对于顺序,它将是第二个音轨,依此类推(随机)。

audio video language ffmpeg

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

编解码器和最低比特率 ffmpeg 输出的设置

我需要将输入音频文件转换为尽可能小的大小,以便通过无线电发射器传输。

现在,使用 AAC 编解码器和 MP3 格式,我使用 8kbps 的比特率、16 kHz 的采样率和 1 个通道,我的输出数据约为每秒 3kb。

但是,当我将采样率更改为 8 kHz 或更低的比特率时,我收到一条错误消息,指出编解码器不支持此设置。

是否有设置可以降低输出文件的速率?

PS:因为我在Android上工作,所以很难安装编解码器,所以我必须使用ffmpeg默认编解码器。

更新:

我现在使用 opus 命令行这是我的命令:

ffmpeg -i a.mp3 -vn -c:a libopus -ac 1 -ar 8000 -b:a 500 -vbr constrained -compression_level 0 -application lowdelay output22.mkv
Run Code Online (Sandbox Code Playgroud)

结果是

Input #0, mp3, from 'a.mp3':
  Metadata:
    title           : Salam (myahangha.ir)
    artist          : Sogand
    album           : Javooni
    comment         : ..:: myahangha.ir ::..
    genre           : 2019
    date            : 2019
  Duration: 00:03:15.24, start: 0.000000, bitrate: 324 kb/s
    Stream #0:0: Audio: …
Run Code Online (Sandbox Code Playgroud)

audio mp3 android ffmpeg

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

如何在特殊条件下使用 FFmpeg 合并两个音频文件?

我有一个特殊的问题。也许不是:D

\n\n

我有两个音频文件。首先。第一个音频文件已更改只需听到耳机右侧的声音。因为我使用了 FFmpeg 命令。

\n\n
ffmpeg -i fisrt.wav -af \xe2\x80\x9can=stereo|c1=c1\xe2\x80\x9d outr.wav\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后,第二个音频文件已更改,只需听到耳机左侧的声音。我用了这个命令。

\n\n
ffmpeg -i second.wav -af \xe2\x80\x9cpan=stereo|c0=c0\xe2\x80\x9d outl.wav\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题

\n\n

我想将这些文件与特殊条件合并。这种情况是耳机右侧刚刚听到第一个audio/outr.wav/。然后,从耳机左侧听到第二个音频/outl.wav/。所以,我尝试了这个命令。

\n\n
ffmpeg -i left.mp3 -i right.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map "[a]" output.wav\n
Run Code Online (Sandbox Code Playgroud)\n\n

不幸的是,这个结果是不想要的。结果耳机两侧听到的音量​​不同。

\n\n

你能帮我吗?!

\n

audio ffmpeg

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

FFMPEG - 合并两个具有定义的重叠时间的音频文件

要求

我想连接两个具有预定义重叠时间的音频文件。

例如,如果定义了 10 秒重叠,则第一个音频的结束 10 秒和第二个音频的开始 10 秒在输出中重叠。

|<---- 1st mp3 file -------------------->                       |
|                        <-----------2nd mp3 file ------------->|

result:
|<-----------------------(overlap 10 sec )--------------------->|
Run Code Online (Sandbox Code Playgroud)

audio mp3 ffmpeg

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

如何在包含两个或多个音轨的视频文件中使用 ffmpeg 更改音频语言

我正在对包含 2 个音轨的视频文件进行转码 - 波兰语和英语。不幸的是,我的转码器以某种方式与元数据混淆,并且在输出时,当我使用 MediaInfo 检查视频文件时,我看到两个音轨都被描述为英语。我想将第一个音轨的描述更改为波兰语,因此根据 ffmpeg 文档:

To set the language of the first audio stream:
ffmpeg -i INPUT -metadata:s:a:0 language=eng OUTPUT
Run Code Online (Sandbox Code Playgroud)

不幸的是,运行命令:

ffmpeg -i INPUTPATH -metadata:s:a:0 language=pol OUTPUTPATH
Run Code Online (Sandbox Code Playgroud)

覆盖输入文件导致保存文件大小为 63KB,但它被描述为波兰语音频(没有第二个音轨 - 英语不知何故被删除)

当我使用此命令时,将输出文件保存为另一个文件,以避免在某些内容丢失时覆盖(这是当前情况),但使用参数 -metadata:s:a:4 因为我认为也许我正在从 ffmpeg 读取元数据错误地,它导致将输出文件保存为 800Mb,仅包含英语(没有波兰语曲目)。

我不知道应该在此命令中更改什么才能按我想要的方式运行 - 只需将第一个音轨语言的元数据更改为波兰语。

这是完整的 ffmpeg 输出:

C:\Users\user>ffmpeg -i F:\Path\33244813_6000_1_trailer.mp4 -metadata:s:a:4 language=pol F:\Path\testtest.mp4
ffmpeg version N-91931-gb69ea742ab Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 8.2.1 (GCC) 20180813
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enabl
e-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame …
Run Code Online (Sandbox Code Playgroud)

audio video metadata ffmpeg

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

在 OGG 音频文件中添加艺术封面

我的目的是在仅包含音频的 ogg 文件中添加封面艺术,而不将其创建为视频。

\n

输出:ffrobe audio.ogg

\n
Input #0, ogg, from 'audio.ogg':\n  Duration: 00:03:26.60, start: 0.000000, bitrate: 385 kb/s\n  Stream #0:0: Audio: vorbis, 44100 Hz, stereo, fltp, 320 kb/s\n    Metadata:\n      encoder         : Lavc59.12.100 libvorbis\n      album           : CMG Cl\xc3\xa1ssicos Pop Rock Nacionais\n      artist          : Lob\xc3\xa3o\n      date            : 1988\n      genre           : Cl\xc3\xa1ssico Pop Rock Nacional\n      TKEY            : E m\n      title           : Cuidado!\n
Run Code Online (Sandbox Code Playgroud)\n

我使用下面的命令,但封面艺术在输出文件中生成为视频:

\n
ffmpeg -i "audio.ogg" -i "Cover.jpg" -map 0:a -map 1:v -c:a libvorbis -b:a 320k -metadata:s:v title="Album cover" -metadata:s:v …
Run Code Online (Sandbox Code Playgroud)

audio ffmpeg

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

如何在Ubuntu 20.04上安装声音驱动程序?

我已经安装了 nvidea 驱动程序:

sudo ubuntu-drivers install
Run Code Online (Sandbox Code Playgroud)

之后我丢失了网络适配器和声音驱动程序。我已经解决了网络驱动程序的问题,但我找不到任何如何处理声音驱动程序的信息。我试过:

sudo apt-get remove --purge alsa-base
sudo apt-get remove --purge pulseaudio
sudo apt-get install alsa-base
sudo apt-get install pulseaudio
sudo alsa force-reload
Run Code Online (Sandbox Code Playgroud)

但这没有帮助。我现在拥有的:

pavel@home:~$ lshw -C multimedia
WARNING: you should run this program as super-user.
  *-multimedia UNCLAIMED    
       description: Audio device
       product: GK208 HDMI/DP Audio Controller
       vendor: NVIDIA Corporation
       physical id: 0.1
       bus info: pci@0000:1f:00.1
       version: a1
       width: 32 bits
       clock: 33MHz
       capabilities: bus_master cap_list
       configuration: latency=0
       resources: memory:f7080000-f7083fff
  *-multimedia UNCLAIMED
       description: Audio device
       product: …
Run Code Online (Sandbox Code Playgroud)

audio linux drivers ubuntu nvidia-graphics-card

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

麦克风被识别为耳机

我尝试将这个麦克风(3.5 毫米音频插孔)连接到我的 Android 设备上,看看该设备是否有问题,但仍然没有检测到。在 Windows 上,它显示为耳机而不是麦克风,有什么办法可以解决这个问题吗?

这是我拥有的麦克风:https ://www.kmart.com.au/product/gaming-microphone-42959564/

audio windows microphone headphones

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

将任何音频流式传输到 UPnP 设备的应用程序 (Xbox 360)

是否有任何类型的应用程序可以接收在 PC 上播放的任何音频并将其流式传输到 UPnP 客户端?例如,您可以运行应用程序,然后播放任何音乐……WMP、iTunes、VLC 等等……它可能只使用“立体声混音”设备,然后在 XBox 360 上您可以连接到那个流,它只会播放它。

我知道这在技术上应该是可能的......我正在考虑尝试创建一些东西来做到这一点,但我不想重新创建已经存在的东西。

audio upnp streaming

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

光学音频输出卡在 MacBook 上

Apple 为 MacBook(以及其他一些 Intel Mac 机型)制作了一个有趣的耳机端口。它像标准插孔一样工作:

  • 没有插入任何东西 -> 音频来自内置扬声器
  • 插入耳机/外部扬声器 -> 通过耳机/外部扬声器播放

但是你也可以使用一个特殊的适配器(它触发一个微型微动开关)来获得一个光学音频输出信号(你大概可以插入一个很好的环绕声系统)。

这一切都很好,除非在自动跟踪之类的情况下它不起作用,并且您没有任何调整的余地。用户报告说,当他们没有插入任何东西时,他们没有声音,并且耳机端口发出红灯。如果您转到“系统偏好设置”->“声音”->“输出”,它会显示 (IIRC)“Optical Out”而不是“Internal Speakers”。

我知道的唯一解决方案是尝试通过插入和移除一组耳机或牙签来重置开关,也许在端口内摆动它,并希望你能幸运地得到它。

还有其他方法可以解决这个问题吗?有谁知道微动开关在哪里或有一个很好的技术来重置它?

audio mac macos

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