Momo707577045 / media-source-extract

MediaSource 视频提取教程
1.58k stars 456 forks source link

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

Open sunzehui opened 3 years ago

sunzehui commented 3 years ago

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

Momo707577045 commented 3 years ago

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

sunzehui commented 3 years ago

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

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

journey-ad commented 3 years ago

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

先把音频分离出来
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 commented 3 years ago

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

先把音频分离出来 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 commented 3 years ago

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

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

Momo707577045 commented 3 years ago

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

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

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

zaq5275764 commented 3 years ago

我这里使用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 commented 1 year ago

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

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

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