ubuntu - ffmpeg 循环不工作在第一次循环后不断丢帧
问题描述
我确实尝试过让它工作但得到了这个错误,我是这个宇宙的新手,所以我正在寻求帮助。(在第一个循环后丢帧(因为时间戳会突然回到过去)。)
[flv @ 0x117a2f0] Video codec rawvideo not compatible with flv
Could not write header for output file #0 (incorrect codec parameters ?): Function not implemented
我的代码现在当我尝试循环它时,它在第一次循环后停止,丢弃帧......
ffmpeg -f alsa -i default -f lavfi -re -fflags +genpts -i "movie=/home/pi/Documents/Youtube/video.mp4:loop=0, setpts=N/(FRAME_RATE*TB)" -c:v copy -c:a aac -f flv -max_muxing_queue_size 400 rtmp://a.rtmp.youtube.com/live2/pfjd-jhjs-k3td-XXXX
我在尝试修复循环问题但没有其他错误之前使用的代码是:
ffmpeg -re -stream_loop -1 -f alsa -i default -i /home/pi/Documents/Youtube/video.mp4 -c:v copy -c:a aac -f flv -max_muxing_queue_size 400 rtmp://a.rtmp.youtube.com/live2/pfjd-jhjs-k3td-XXXX
任何人都可以帮助我让它循环播放吗?PS:我正在将视频文件与桌面音频组合流式传输(因为我在 QMMP 中播放儿童歌曲(儿童广播项目))
提前致谢!
解决方案
利用
ffmpeg -re -f alsa -i default -re -stream_loop -1 -i "/home/pi/Documents/Youtube/video.mp4" -c:v copy -c:a aac -f flv -max_muxing_queue_size 400 rtmp://a.rtmp.youtube.com/live2/pfjd-jhjs-k3td-XXXX
stream_loop 直到最近还有一个错误,所以请使用 ffmpeg 4.1 或更高版本。lavfi
设备只会输出解码后的帧,所以需要直接使用输入文件,避免重新编码。
对于实时流,所有输入都应-re
设置标志。
推荐阅读
- java - 如何让 Byte Buddy 将多种类型加载到同一个包装类加载器中
- reactjs - 如何在页面上导航而不重新加载页面
- javascript - 我有两个独立的功能,一个收集表单文本,另一个切换图像的显示。我无法从其他变量中提取值
- apache-spark - 动态循环所有列名的数据集
- python - 通过在一段文本中查找关键字来过滤数据框
- php - 如何在 PHP 中从画布中删除黑色背景?
- excel - 使用 Excel VBA 宏在 Word 中查找和替换页脚文本
- python - Multiproces 具有可迭代和可迭代参数的函数
- database - 如何保存更改?
- pandas - 使用 pyspark 将 base64 字符串转换为图像时出错