#6999 closed defect (wontfix)
Filter "aphasemeter" not working in latest FFmpeg version
Reported by: | BlackScreen | Owned by: | |
---|---|---|---|
Priority: | important | Component: | avfilter |
Version: | git-master | Keywords: | aphasemeter regression |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
Summary of the bug:
The filter "aphasemeter" is not working.
How to reproduce:
ffmpeg -hide_banner -i "Test.wav" -filter_complex "[0:a] aphasemeter=s=hd720:rate=50:mpc=cyan, format=yuv420p [v]" -map "[v]" -map 0:a -r 50 -vcodec libx264 -s 1280x720 -pix_fmt yuv420p -preset slow -crf 20 -profile:v main -level 4.0 -acodec aac -ab 192k -ac 2 "Test_Phase.mp4"
ffmpeg version N-89925-gd4967c04e0
built with gcc 7.3.0 (Rev1, Built by MSYS2 project)
Change History (7)
comment:1 Changed 3 years ago by BlackScreen
comment:2 Changed 3 years ago by cehoyos
- Keywords regression added; filter removed
- Priority changed from normal to important
For future tickets please remember that using -hide_banner when reporting a bug (or asking a question on the user mailing list) is not ok unless you want to report an issue with this particular option.
comment:3 Changed 3 years ago by richardpl
- Resolution set to wontfix
- Status changed from new to closed
The syntax of filter have simply changed, by default it will output both audio and video stream at once.
comment:4 follow-up: ↓ 5 Changed 3 years ago by BlackScreen
Then please tell me how I would use it.
comment:5 in reply to: ↑ 4 ; follow-up: ↓ 6 Changed 3 years ago by MReedAustin
Replying to BlackScreen:
Then please tell me how I would use it.
aphasemeter outputs the audio received (with metadata injection) on its first output pad, and the generated video on the second, so in your case you were attempting to map the audio output into the video of your output file. The modified command below should work for you, I believe.
ffmpeg -hide_banner -i "Test.wav" -filter_complex "[0:a] aphasemeter=s=hd720:rate=50:mpc=cyan, format=yuv420p [a][v]" -map "[v]" -map [a] -r 50 -vcodec libx264 -s 1280x720 -pix_fmt yuv420p -preset slow -crf 20 -profile:v main -level 4.0 -acodec aac -ab 192k -ac 2 "Test_Phase.mp4"
comment:6 in reply to: ↑ 5 Changed 3 years ago by BlackScreen
Replying to MReedAustin:
aphasemeter outputs the audio received (with metadata injection) on its first output pad, and the generated video on the second, so in your case you were attempting to map the audio output into the video of your output file. The modified command below should work for you, I believe.
ffmpeg -hide_banner -i "Test.wav" -filter_complex "[0:a] aphasemeter=s=hd720:rate=50:mpc=cyan, format=yuv420p [a][v]" -map "[v]" -map [a] -r 50 -vcodec libx264 -s 1280x720 -pix_fmt yuv420p -preset slow -crf 20 -profile:v main -level 4.0 -acodec aac -ab 192k -ac 2 "Test_Phase.mp4"
I tried your solution, but it does not work either. I tried it with quotes for "[a]", but I get more or less the same error. See here:
[Parsed_aphasemeter_0 @ 000000000016cd40] Media type mismatch between the 'Parsed_aphasemeter_0' filter output pad 0 (audio) and the 'Parsed_format_1' filter input pad 0 (video) [AVFilterGraph @ 0000000000170bc0] Cannot create the link aphasemeter:0 -> format:0 Error initializing complex filters. Invalid argument
comment:7 Changed 3 years ago by richardpl
Because you inserted format filter, besides this is not support site. There are other sites for that.
Complete console output with "-v 9 -loglevel 99":