文档章节

解决ffmpeg.exe转换问题flv does not support that sample

lg2045
 lg2045
发布于 2013/06/27 13:15
字数 1406
阅读 1002
收藏 2

ffmpeg.exe是一款视频转换工具,该工具有如下几大特点:

1、音频转换(ffmpeg -i my_audio.wav my_audio.mp3-i)

2、视频转换(ffmpeg -i my_video.mpeg -s 500×500 my_video.flv-i)

3、从视频中截取图片

4、从视频中采集音频

5、创建截屏视频

6、用图片制作视频

7、从webcam中截取视频

该工具运行在windows下dos系统,通过输入命令执行,支持avi,FLV,asf,mpeg,mp3等等格式,使用方法如下:开始菜单--运行--cmd---然后再运行ffmpeg软件,非常实用。

今天使用ffmpeg.exe转换视频时,出现一个问题,怎么也转换不成功,通过错误信息,看到提示是“flv does not support that sample rate, choose from (44100, 22050, 11025).Could not write header for output file #0 (incorrect codec parameters ?)”和“Sample rate must be 11025, 22050 or 44100
Error while opening codec for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height”

我之前的写法是:

ffmpeg -i input.avi  output.flv

  

我于是查了下相关资料,再通过多次测试,发现是语句上的写法出了点问题。

最后写成这样就没有问题了:

ffmpeg -i input.avi -ar 22050 output.flv

不过,这样的输出flv文件质量比较低,后来发现,如果加多一个参数-sameq的话,输出的视频质量会大大提高。

写法如下:

ffmpeg -i input.avi -sameq -ar 22050 output.flv

 

扩充知识

转换FLV格式的ffmpeg.exe 参数说明

ffmpeg.exe -i F:\input.mp3 -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\output.flv

ffmpeg -i F:\01.wmv -ab 56 -ar 22050 -b 500 -r 15 -s 320x240 f:\test.flv

使用-ss参数 作用(time_off set the start time offset),可以从指定时间点开始转换任务。如:

转换文件格式的同时抓缩微图:

ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg'

对已有flv抓图:

ffmpeg -i "test.flv" -y -f image2 -ss 8 -t 0.001 -s 350x240 'test.jpg'

-ss后跟的时间单位为秒

Ffmpeg转换命令

ffmpeg -y -i test.mpeg -bitexact -vcodec h263 -b 128 -r 15 -s 176x144 -acodec aac -ac 2 -ar 22500
-ab 24 -f 3gp test.3gp

或者

ffmpeg -y -i test.mpeg -ac 1 -acodec amr_nb -ar 8000 -s 176x144 -b 128 -r 15 test.3gp

ffmpeg参数设定解说

-bitexact 使用标准比特率

-vcodec xvid 使用xvid压缩

-s 320x240 指定分辨率

-r 29.97 桢速率(可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.97)

◆画面部分,选其一

-b <比特率> 指定压缩比特率,似乎ffmpeg是自动VBR的,指定了就大概是平均比特率,比如768,1500这样的就是原来默认项目中有的

-qscale <数值> 以<数值>质量为基础的VBR,取值0.01-255,约小质量越好

-qmin <数值> 设定最小质量,与-qmax(设定最大质量)共用,比如-qmin 10 -qmax 31

-sameq 使用和源同样的质量

◆声音部分

-acodec aac 设定声音编码

-ac <数值> 设定声道数,1就是单声道,2就是立体声,转换单声道的TVrip可以用1(节省一半容量),高品质的DVDrip就可以用2

-ar <采样率> 设定声音采样率,PSP只认24000

-ab <比特率> 设定声音比特率,前面-ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96,转换均默认比特率都较小,要听到较高品质声音的话建议设到160kbps(80)以上

-vol <百分比> 设定音量,某些DVDrip的AC3轨音量极小,转换时可以用这个提高音量,比如200就是原来的2倍

这样,要得到一个高画质音质低容量的MP4的话,首先画面最好不要用固定比特率,而用VBR参数让程序自己去判断,而音质参数可以在原来的基础上提升一点,听起来要舒服很多,也不会太大,看情况调整。

例子:ffmpeg -y -i "1.avi" -title "Test" -vcodec xvid -s 368x208 -r 29.97 -b 1500 -acodec aac -ac 2 -ar 24000 -ab 128 -vol 200 -f psp -muxvb 768 "1.***"

解释:以上命令可以在Dos命令行中输入,也可以创建到批处理文件中运行。不过,前提是:要在ffmpeg所在的目录中执行(转换君所在目录下面的cores子目录)。

参数

-y(覆盖输出文件,即如果1.***文件已经存在的话,不经提示就覆盖掉了)

-i "1.avi"(输入文件是和ffmpeg在同一目录下的1.avi文件,可以自己加路径,改名字)

-title "Test"(在PSP中显示的影片的标题)

-vcodec xvid(使用XVID编码压缩视频,不能改的)

-s 368x208(输出的分辨率为368x208,注意片源一定要是16:9的不然会变形)

-r 29.97(帧数,一般就用这个吧)

-b 1500(视频数据流量,用-b xxxx的指令则使用固定码率,数字随便改,1500以上没效果;还可以用动态码率如:-qscale 4和-qscale 6,4的质量比6高)

-acodec aac(音频编码用AAC)

-ac 2(声道数1或2)

-ar 24000(声音的采样频率,好像PSP只能支持24000Hz)

-ab 128(音频数据流量,一般选择32、64、96、128)

-vol 200(200%的音量,自己改)

-f psp(输出psp专用格式)

-muxvb 768(好像是给PSP机器识别的码率,一般选择384、512和768,我改成1500,PSP就说文件损坏了)

"1.***"(输出文件名,也可以加路径改文件名)

机器强劲的话,可以多开几个批处理文件,让它们并行处理。

E:\ffmpeg.exe -i I:\1.wmv -b 360 -r 25 -s 320x240 -hq -deinterlace -ab 56 -ar 22050 -ac 1 D:\2.flv

本文转载自:http://www.baixingzixun.com/computer/diannaozixun/2013/0527/798.html

lg2045
粉丝 13
博文 145
码字总数 14044
作品 0
朝阳
程序员
私信 提问
ffmpeg 常用命令行

整理常用的ffmpeg命令,便于大家查找。 1. AVI转FLV ffmpeg -i videoorigine.avi -acodec libmp3lame -ab 56K -ar 44100 -b 200K -r 15 -s 320x240 -f flv videofinale.flv 2.AVI转成divx编码......

sunrc
2014/10/24
0
0
ASP.NET视频截图实现

Code /// /// @从视频文件截图,生成在视频文件所在文件夹 /// 在Web.Config 中需要两个前置配置项: /// 1.ffmpeg.exe文件的路径 /// /// 2.截图的尺寸大小 /// /// 3.视频处理程序ffmpeg.ex...

高龄程序员
2009/03/21
741
1
使用ffmpeg.exe转换flv格式的asp函数 在asp中的调用_asp技巧

asp代码如下: <% str="D:ffmpeg.exe" video="D:a.mov" video="D:aaa.avi" simg="D:bbbbbb.jpg" flv="D:3gp2.flv" response.write video Set WshShell = server.CreateObject("Wscript.Shell......

james_laughing
2015/09/11
96
0
h264格式的flv和mkv无损转换成mp4的方法

现在很多flv和mkv视频都是采用的h264封装,移动设备往往并不支持这些格式的文件,但却对h264封装的mp4支持良好。因此,为了视频能在电脑和移动设备间共享,我通常会将其转换成h264封装的mp4...

goover1001
2014/05/06
655
0
孟飞阳/phoenix-recorder

phoenix-recorder Java版的屏幕录制引擎,并能将录制后的视频压缩转换成wmv,mp4等格式 启动方法:phoenix.record.run.recorder.ScreenRecorderMain.start 停止方法:phoenix.record.run.re...

孟飞阳
2016/01/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Tensorflow 2.0安装

Tensorflow2.0安装环境: Ubuntu 16.04或更高(64位) Windows 7或者更高(64位,且支持python3) 安装Tensorflow 2.0 GPU版本的需要安装NVIDIA相关软件包: NVIDIA驱动 :版本必须410.x或更...

JosiahMg
14分钟前
4
0
TL138/1808/6748F-EasyEVM开发板硬件、CPU、FLASH、RAM

TL138/1808/6748F-EasyEVM是广州创龙基于SOM-TL138/SOM-TL1808/SOM-TL6748F核心板开发的一款开发板。由于SOM-TL138/SOM-TL1808/SOM-TL6748核心板管脚兼容,所以此三个核心板共用同一个底板。...

Tronlong创龙
22分钟前
2
0
百度嵌入式AI解决方案EdgeBoard之内存驱动设计介绍

1. 背景介绍 由于 FPGA 具备可编程和高性能计算的特点,基于FPGA硬件的AI计算加速,正广泛地应用到计算机视觉处理领域。其中极具代表性的部署方式之一就是使用FPGA和CPU组合构成异构计算系统...

AI君
28分钟前
5
0
开放应用模型(OAM):全球首个云原生应用标准定义与架构模型

Kubernetes 项目作为容器编排领域的事实标准, 成功推动了诸如阿里云 Kubernetes (ACK)等云原生服务的迅速增长。但同时我们也关注到,Kubernetes 的核心 API 资源比如 Service、Deploymen...

Mr_zebra
31分钟前
3
0
《Linux操作系统-Exynos4412》编译和安装Busybox

开发环境:Exynos4412-iTOP-4412开发板 现在 Busybox 的配置已经完成了,接下来开始编译 Busybox,在 Ubuntu 的终端输入 “make”命令开始编译 Busybox,如下图。 下图为编译过程中的截图。 ...

书白
34分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部