雪狼战队 2017-10-30 02:31
浏览 3654

ffmpeg推流音频文件,ffplay拉流无法播放

1, 在做音频推流的时候,使用 ffmpeg -re -i waving_flag.mp3 -c copy -f mpegts udp://224.0.1.1:8090 推流.
ffplay -f mpegts udp://224.0.1.1:8090 -fflags nobuffer 拉流播放没有问题.
2, 但是在使用 ffmpeg -re -i waving_flag.wav -c copy -f mpegts udp://224.0.1.1:8090 推流时
ffplay -f mpegts udp://224.0.1.1:8090 -fflags nobuffer 拉流就播放不了.
提示Failed to open file 'udp://224.0.1.1:8090' or configure filtergraph
把推流指令中的 -c copy 给去掉是可以正常拉流播放了.
3, 在使用我自己仿照雷博主使用ffmpeg SDK写的一个推流代码, 在输入为MP3格式文件时,能正常推出来, 使用 ffplay -f mpegts udp://224.0.1.1:8090 -fflags nobuffer 拉流是没有问题的
但是在选择输入音频格式的文件为aac时, 推流是正常的,可拉流这边就提示:
Header missing
Could not find codec parameters for stream 0 (Audio: mp3 ([3][0][0][0] / 0x0003), 0 channels, s16p): unspecified frame size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'udp://224.0.1.1:8090':
Duration: N/A, start: 0.000000, bitrate: N/A
Program 1
Metadata:
service_name : Service01
service_provider: FFmpeg
Stream #0:0[0x100]: Audio: mp3 ([3][0][0][0] / 0x0003), 0 channels, s16p
Failed to open file 'udp://224.0.1.1:8090' or configure filtergraph
这里显示 Audio: mp3 可我明明输入的是aac 格式的文件.

为什么使用指令的时候,可以正常拉流播放, 在不加-c copy时, ffmpeg库内部做了哪些处理, 我仿照雷博主的这个推流代码应该怎么去改进,才能让他兼容更多的音频格式?
我想法就是: 是不是将输入的文件进行解码后重定向再统一编码为MP3格式推流出去吗?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 对于相关问题的求解与代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作
    • ¥15 求NPF226060磁芯的详细资料