Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

下载音频格式,ffmpeg合并后可以正常使用 #5

Open
sunzehui opened this issue Feb 25, 2021 · 8 comments
Open

下载音频格式,ffmpeg合并后可以正常使用 #5

sunzehui opened this issue Feb 25, 2021 · 8 comments

Comments

@sunzehui
Copy link

建议:下载资源时或许可以检测mime开头是audio,则将后缀设置成mp3或其他
ffmepg合并命令:
ffmpeg -i "${videoPath}" -i "${audioPath}" -vcodec copy "${outputName}"
经测试音频正常,无损合并

@Momo707577045
Copy link
Owner

本机测试无效,音频存在异常,
方便联系吗?详细情况交流一下

@sunzehui
Copy link
Author

本机测试无效,音频存在异常,
方便联系吗?详细情况交流一下

不知道,我测试了两三个视频,可能不通用吧

@journey-ad
Copy link

我这边测试直接合成音质有问题
分两步正常

先把音频分离出来
ffmpeg -i "audio.m4a" -acodec copy "tmp_audio.aac"

然后把原始视频和上一步得到的aac组装到一起
ffmpeg -i "video.mp4" -i "tmp_audio.aac" -c copy -shortest "output.mp4"

或者 #4 提到的方法也可以,就是麻烦很多

@sunzehui
Copy link
Author

我这边测试直接合成音质有问题
分两步正常

先把音频分离出来
ffmpeg -i "audio.m4a" -acodec copy "tmp_audio.aac"

然后把原始视频和上一步得到的aac组装到一起
ffmpeg -i "video.mp4" -i "tmp_audio.aac" -c copy -shortest "output.mp4"

或者 #4 提到的方法也可以,就是麻烦很多

是的,可以把音频转成aac。
不过我这里不管是视频还是音频,下载下来的格式全是mp4,从下载下来的mp4转成mp3会出问题,在下载时就把格式保存成mp3(作者代码上判断mime是audio就将后缀改成mp3)再直接把mp3和mp4合并就没有问题

@journey-ad
Copy link

音频原始格式应该是m4a,也是用mp4容器包装的
我这边这个音频直接播放或用ffmpeg直接处理会有问题,表现是音频爆音音质极差(部分播放器播放正常,但持续时长有误),和上面 @Momo707577045 遇到的应该是同样的情况

可能和来源有关吧,后面有人遇到同样情况可以试试我这个办法

@Momo707577045
Copy link
Owner

音频原始格式应该是m4a,也是用mp4容器包装的
我这边这个音频直接播放或用ffmpeg直接处理会有问题,表现是音频爆音音质极差(部分播放器播放正常,但持续时长有误),和上面 @Momo707577045 遇到的应该是同样的情况

可能和来源有关吧,后面有人遇到同样情况可以试试我这个办法

亲测成功,非常感谢,我看看怎么整合到工具里面

@zaq5275764
Copy link

我这里使用ffmpeg.exe 导出音频文件没问题,但是处理视频文件时出现错误,不知道有没有解决方法。
.\ffmpeg.exe -i .\1.mp4
ffmpeg version N-102620-g3300625c6f Copyright (c) 2000-2021 the FFmpeg developers
built with gcc 10-win32 (GCC) 20210408
configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --enable-libvmaf --enable-vulkan --enable-amf --enable-libaom --enable-avisynth --enable-libdav1d --enable-libdavs2 --enable-ffnvcodec --enable-cuda-llvm --enable-libglslang --enable-libgme --enable-libass --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --enable-libmfx --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --enable-libvidstab --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp
libavutil 57. 0.100 / 57. 0.100
libavcodec 59. 1.100 / 59. 1.100
libavformat 59. 2.101 / 59. 2.101
libavdevice 59. 0.100 / 59. 0.100
libavfilter 8. 0.101 / 8. 0.101
libswscale 6. 0.100 / 6. 0.100
libswresample 4. 0.100 / 4. 0.100
libpostproc 56. 0.100 / 56. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 000001a997612d40] error reading header
.\1.mp4: Invalid data found when processing input

@John-zhan
Copy link

音频原始格式应该是m4a,也是用mp4容器包装的 我这边这个音频直接播放或用ffmpeg直接处理会有问题,表现是音频爆音音质极差(部分播放器播放正常,但持续时长有误),和上面 @Momo707577045 遇到的应该是同样的情况

可能和来源有关吧,后面有人遇到同样情况可以试试我这个办法

我这现在下载下来的音频也是mp4, 不是m4a。迷茫了,不知道该怎么处理

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants