Questions tagged «ffmpeg»

媒体工具,支持多个编解码器,过滤器和容器。在询问涉及FFmpeg工具的问​​题时,请包括实际命令和完整的控制台输出。一种简单的方法是在命令中添加`-report`并粘贴生成的日志文件的内容。要获得CLI的帮助,请仅使用ff *二进制文件-ffmpeg,ffprobe,ffplay。有关API使用的帮助,请在Stack Overflow上发布。

0
FFMPEG通过netcat从管道接收流失败
我试图通过netcat接收流并将其传输到FFMPEG,然后输出到文件,但我收到一个错误。 我尝试过的最基本的命令是: $ nc -l -p 1935 | ffmpeg -v debug -y -f h264 -i pipe:0 out.mp4 ffmpeg version 3.1 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8.2 (GCC) configuration: --prefix=/pkg/ffmpeg.org/3.1/ffmpeg --libdir=/usr/lib64 --shlibdir=/usr/lib64 --incdir=/usr/include --enable-gpl --enable-libx264 --enable-shared --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libtheora --enable-libvorbis --enable-libx264 --enable-postproc --enable-runtime-cpudetect --enable-memalign-hack …

1
如何在FFmpeg中保留原始视频文件头[关闭]
我正在尝试使用FFMpeg对我的输入视频文件进行一些处理,然后将其提供给仿真器软件(打包软件)以进行进一步处理。仿真器基本上是一个分组化软件。但无论它是什么,附加工作的原始视频文件。文件的创建者说他用过 bento4 用于创建文件的工具。与FFmpeg的那个工具有什么不同? 问题是模拟器可以读取原始视频文件,但是当我只是使用命令时 ffmpeg -i input.video -c copy output.mp4虽然它本质上应该复制所有配置,但模拟器无法读取和处理新文件。 这是原件的副本 .mp4 在模拟器中工作正常的文件。 我用了 mediainfo 工具来比较两个文件的细节,并注意到所有视频编解码器相关的配置是相同的,标题大小有一些差异可能导致问题。有没有办法强制FFmpeg保留标题信息(除了编解码器)?或者可能还有其他问题?在任何情况下,输出视频都不完全相同。 更新: 我还在努力解决这个问题。我查看了模拟器代码,然后解析了 MOOV 和片段标题的信息。使用MP4资源管理器软件,我注意到我生成的 .mp4 文件,为所有人 moof.traf.trun,示例持续时间为0,但在Track Fragment Header框中,它设置了 default_sample_duration 在工作文件中,没有 default_sample_duration,每个样本的持续时间大小为512.我想这可能是问题所在。现在有什么方法可以让它像原创一样?

0
如何使用ffmpeg规范化多个音频?
我见过这段代码: vol=$(ffmpeg -i "$file" -af "volumedetect" -f null /dev/null 2>&1 | grep mean_volume | awk -F': ' '{print $2}' | /cut -d' ' -f1) echo "existing mean_volume.........$vol" 通过 https://superuser.com/users/390724/chris-prince 2015年9月 这里 。我使用它并按预期用于单个音频文件。但是,当尝试在循环中使用它来对多个文件执行批处理时,它会失败(没有vol的值)。我试图在原始线程中得到答案但被告知必须开始一个新线程。我进一步测试了代码。似乎问题在于ffmpeg。
1 macos  bash  ffmpeg 

2
在npm install -g之后,命令仍未找到?
我不知道发生了什么,但我安装的节点包都没有实际注册。 npm 和 node 工作得很好,但如果我 sudo npm install -g ffmpeg 要么 brew,他们被列入 /usr/local/lib/node_modules 但 brew -v 和 ffmpeg -v 什么都不做“命令未找到” 非常感谢任何帮助,我对命令行的东西很新。我觉得我对两者之间的区别感到困惑 npm 和 brew... npm是指向命令行的符号链接,还是仅允许 require("brew") 在节点实例中? 有一次,我确实按照一些说明将“sublime”注册为命令行别名。不要认为这会影响任何事情,但我甚至不知道在哪里看

1
ffmpeg使用android将多个音频文件合并为单个音频文件
我使用以下命令合并多个音频文件: String s="-i "+mFileTemp.getPath()+" -i "+mFileTemp2.getPath()+" -i "+mFileTemp3.getPath()+" -filter_complex [0:0][1:0][2:0]concat=n=3:v=0:a=1[out] -map [out] "+originalFile.getPath(); 其中mFileTemp,mFileTemp2,mFileTemp3是输入音频文件的路径,其中originalFile是输出音频文件路径。 在这里我附上分裂后的传递方式: ffmpeg分裂后传递参数 收到以下错误: ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers built with gcc 4.8 (GCC) configuration: --target-os=linux --cross- prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain- android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 -- enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg- android/toolchain-android/sysroot --enable-pic --enable-libx264 -- enable-libass --enable-libfreetype --enable-libfribidi --enable- libmp3lame …
1 audio  ffmpeg  android 

1
如何合并2 mp4文件与1个原子?
我正在合并两个mp4文件用于视频流。问题是,合并文件包含两个原子,每个文件1个原子,这在流式传输方面是个问题。客户端需要等到第一个原子从file1加载,而不是从file2客户端播放第二部分的时间将再次等待加载原子。当你的原子很小时,你可能不会注意到这一点,但是当你流式传输大型视频时,原子的重量可能会达到7-10mb。 如何从合并文件中删除这两个原子并创建一个新原子? 我试过的: ffmpeg -i file1.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts ffmpeg -i file2.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc m.file.mp4 MP4Box -add m.file.mp4 -isma mf.file.mp4 mv mf.file.mp4 m.file.mp4

1
如何从网络直接从视频部分有效地创建最佳调色板gif
我已经使用了一段时间这两个命令将视频片段转换为动画gif,具有 ffmpeg 为它计算最佳调色板: ffmpeg -ss $START -i $IN_FILE -t $LENGTH -vf "fps=$FPS,scale=$WIDTH:-1:flags=lanczos,palettegen" palette.png ffmpeg -ss $START -i $IN_FILE -i palette.png -t $LENGTH -filter_complex "fps=$FPS,scale=$WIDTH:-1:flags=lanczos [x]; [x] [1:v] paletteuse" output.gif 这适用于本地文件,但如果我开始使用远程URL $IN_FILE,它会下载所需的部分两次 - 一次用于调色板生成,一次用于实际转换。 提前下载完整文件通常是不可能的 - 通常我对较长视频中间的一个非常小的序列感兴趣。 我试着用下载一小部分 -ss 和 -t 并将其保存 - 无需重新编码 - 到临时文件: ffmpeg -ss $START -i $IN_URL …

1
使用ffmpeg将TGA图像文件即时编码为视频
我们使用的软件每秒生成60个TGA文件,我们希望从这些文件构建视频。目前我们采用自制解决方案,但我有一种感觉,ffmpeg会做得更好。实际上,尽管使用相同的编解码器参数,但是从相同TGA文件生成的视频较小。 我们无法等待创建所有图像文件,因为我们需要尽可能快速和轻便的过程。 如何使用ffmpeg对软件即时生成的文件中的视频进行编码?
1 ffmpeg 

1
FFMPEG - 在Windows中批量组合H.264视频和单独的.WAV音频
我是第一次尝试使用单独/辅助.wav音频来复用h.264 .mp4视频的ffmpeg用户,而不对视频端的任何内容进行重新编码。希望最终音频以.aac形式出现(与h.264文件中的音频编码相同)。 基本上,我只想在视频上添加等效长度的附加音轨(评论)。我试图通过单独编辑.wav音频并将其与原始文件相结合而无需通过Premiere或任何编辑器运行它来解决Premiere无法正确导入h.264的问题。这个程序似乎是快速完成它的最佳方式。 我会批量做这个,所以任何有关如何排队多个工作的建议都将受到赞赏。我发现只有排队的建议使用了Linux代码。 如果你有时间回答,请解释,就像我5岁那样。我是一位经验丰富的用户,但对这种以命令行为导向的内容处理方式完全陌生。不确定我做对了什么。 另外:我正在使用Windows。
1 audio  video  ffmpeg 

1
ffmpeg为中等质量
我尝试使用它-sameq,它的工作原理和视频的质量很好,但我注意到文件大小比原始视频大。 那么如何调整中等质量呢?我的意思是比ffmpeg -i input output中等质量的正常情况要好得多。
1 ffmpeg 

1
将关键帧添加到视频中间,而无需重新编码整个视频
我需要在广告插播时将I帧添加到mp4s的中间,这样我就可以在视频提示时分段到HLS并拥有I帧。我知道如何在重新编码整个视频并强制关键帧时执行此操作斑点,但我更喜欢切出需要关键帧的地点(可能是视频的1秒),添加关键帧,然后将视频拼接回来。这应该大大减少编码时间,因为我可以主要复制编解码器,除了添加I帧的视频的一秒。 唯一的问题是视频配置文件和设置会在我添加I帧的地方发生变化,而且当将它们全部重新组合在一起时,我没有得到一个干净的针脚。我知道我可以用它重新编码concat,但我试图避免处理时间。 我正在尝试用ffmpeg做的一些简单例子: ffmpeg -i input.mp4 -ss 30 -t 1 -c:a copy -y -copyts clipped2.mp4 ffmpeg -i input.mp4 -t 30 -c copy -y -copyts clipped1.mp4 ffmpeg -i "concat:clipped1.mp4|clipped2.mp4" -c copy -y newOutput.mp4 我可能必须使用ffprobe并指定1秒剪辑的比特率,配置文件和其他设置,以便它不会默认为一些随机的东西,但我仍然无法让它正常工作。 有没有人完成这个?这是专门为服务器端广告插入而完成的。

1
FFmpeg常量帧率到变量
当以恒定的60fps录制游戏时,即使游戏玩法为~30 fps或更低,它也会以60 fps记录。 有没有办法将60fps视频从常量FPS转换为可变FPS,所以它使用时间戳而不是FPS?

0
ffmpeg,无效的PCM数据包
我试图用ffmpeg减慢音频速度。我是这样做的8个阶段: ffmpeg -i output5.aiff -filter:a "atempo=0.5" -vn output6.aiff 但是当我到达第六阶段时,我得到了这个错误: Multiple frames in a packet.ed= 324x[pcm_s16be @ 0x7f81e880c600] Invalid PCM packet, data has size 3 but at least a size of 4 was expectedError while decoding stream #0:0: Invalid data found when processing input 并且音频被缩短了。知道出了什么问题吗?
1 shell  ffmpeg 

2
从mp4中提取音频的比特率较低
我正在使用ffmpeg -i input.mp4 -c:a copy -vn -sn output.m4a 从mp4文件中提取音频。但是,当我在Spek中打开mp4时,它显示255kbps AAC,提取的文件只有200kbps。此外,频谱图不是1:1相同,存在小的差异。为什么会这样?这是正常的,还是有更好的方法呢?

0
FFmpeg CRF压缩在master上比旧版本慢
我使用FFmpeg在Android上压缩视频(以及其他内容)。我从2015年开始使用FFmpeg构建已经有一段时间了,并希望升级,最好是升级到git master。我使用以下修改构建了FFmpeg master: https://github.com/writingminds/ffmpeg-android 它创建一个从Java运行的已编译二进制文件。在我的测试中,我发现主分支版本比我的旧版本显着(~x2)慢,并且引入了更多的内存错误。常见设备(Moto G)上的示例比较是: 2015-02-25构建日志(27s): 11-22 10:44:40.015: ffmpeg -y -i new_a41900f8-1748-4834-a940-83160ee1887e.mp4 -f lavfi -i aevalsrc=0 -shortest -strict -2 -vcodec libx264 -vf scale=iw*min(1280/iw\,720/ih):ih*min(1280/iw\,720/ih),pad=1280:720:(1280-iw*min(1280/iw\,720/ih))/2:(720-ih*min(1280/iw\,720/ih))/2 -preset faster -crf 28 -acodec libfdk_aac -map_metadata -1 -movflags faststart new_a41900f8-1748-4834-a940-83160ee1887e_c.mp4 11-22 10:44:40.067: WARNING: linker: ffmpeg has text relocations. This is wasting memory and prevents security …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.