如何使用ffmpeg 将.flac转换为.mp3,保留所有元数据(即将.flac文件中的Vorbis注释转换为.mp3的ID3v2元数据)?
我在ubuntu11上安装了ffmpeg 0.8.9
./configure --enable-gpl --enable-nonfree --enable-pthreads --enable-libfaac --enable-libmp3lame --enable-libx264
当我运行它
ffmpeg -y -i test.mp4 -f mpegts -acodec libmp3lame -ar 48000 -ab 64k -vcodec libx264 -b 250k -flags +loop -cmp +chroma -partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 -me_range 16 -keyint_min 25 -sc_threshold 40 -i_qfactor 0.71 -bt 250k -maxrate 250k -bufsize 250k -rc_eq 'blurCplx^(1-qComp)' -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 -async 2 a.ts
Run Code Online (Sandbox Code Playgroud)
它说
未知编码器'libx264'
(注意:同样的错误可能会出现avconv)
我怎样才能解决这个问题?谢谢!
我想从我在matplotlib的python脚本中生成的帧创建一个h264或divx电影.这部电影大约有10万帧.
在网络上的例子中[例如 1],我只看到了将每个帧保存为png然后在这些文件上运行mencoder或ffmpeg的方法.就我而言,保存每一帧是不切实际的.有没有办法从matplotlib生成一个图并将其直接传递给ffmpeg,不生成中间文件?
用ffmpeg的C-api编程对我来说太难了[例如.2].此外,我需要一个具有良好压缩的编码,例如x264,因为电影文件对于后续步骤来说太大了.所以坚持使用mencoder/ffmpeg/x264会很棒.
有什么东西可以通过管道来完成[3]?
[1] http://matplotlib.sourceforge.net/examples/animation/movie_demo.html
我正在寻找一种方法来旋转我的Debian Wheezy系统上使用Nexus 4拍摄的视频.视频以纵向模式拍摄,我想将它们旋转到横向模式.优选地,旋转是命令行驱动的.
我发现以前的几个问题暗示了一个很好的解决方案,但我似乎无法让它运作起来.
首先是这个问题: 使用FFmpeg旋转视频
但它表明ffmpeg已经过时,我应该使用avconv.我发现这个问题详细说明了前进的方向. https://askubuntu.com/questions/269429/how-can-i-rotate-video-by-180-degrees-with-avconv
这让我使用以下命令:
avconv -i original.mp4 -vf "transpose=1" -codec:v libx264 -preset slow -crf 25 -codec:a copy flipped.mp4
Run Code Online (Sandbox Code Playgroud)
然而,这是非常缓慢的(上次测试花了我超过6小时不到3分钟的镜头)并且不会导致可播放的电影.我也在记录输出时出现错误,该错误表明Mb Rate> level limit.
这里有重新编码的问题吗?在应用轮换之前,我是否应首先将视频从手机重新编码为另一种,更"可行"的编码?或者我错过了另一个重点?
我目前正在使用这些命令:
Top left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:10 [out]" outputvideo.flv
Top right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" outputvideo.flv
Bottom left corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=10:main_h-overlay_h-10 [out]" outputvideo.flv
Bottom right corner
ffmpeg –i inputvideo.avi -vf "movie=watermarklogo.png [watermark]; [in][watermark] overlay=(main_w-overlay_w-10)/2:(main_h-overlay_h-10)/2 [out]" outputvideo.flv
Run Code Online (Sandbox Code Playgroud)
如何放置视频的水印中心?
要获得有关媒体文件的大量信息,可以执行此操作
ffmpeg -i <filename>
Run Code Online (Sandbox Code Playgroud)
它会输出很多行,特别是一行
Duration: 00:08:07.98, start: 0.000000, bitrate: 2080 kb/s
Run Code Online (Sandbox Code Playgroud)
我想只输出00:08:07.98,所以我试试
ffmpeg -i file.mp4 | grep Duration| sed 's/Duration: \(.*\), start/\1/g'
Run Code Online (Sandbox Code Playgroud)
但它会打印所有内容,而不仅仅是长度.
甚至ffmpeg -i file.mp4 | grep Duration输出一切.
我如何获得持续时间长度?
我想将视频中的音频放到另一个没有音频的视频中(在一个命令中):
ffmpeg.exe -i video1_noAudio.mov -i video2_wAudio.mov -vcodec copy -acodec copy video1_audioFromVideo2.mov
Run Code Online (Sandbox Code Playgroud)
我猜"-map"是正确的方法,但我对此感到困惑.
你能建议如何解决吗?
如何使用ffmpeg使用单个图像(image1.png)生成电影,持续时间为15秒,具有特定分辨率,因此当我播放视频时,图像将在屏幕上显示15秒.
如何从http直播流媒体m3u8文件中提取mp4?我在下面尝试了这个命令:
ffmpeg -i {input file} -f rawvideo -bsf h264_mp4toannexb -vcodec copy out.mp4
Run Code Online (Sandbox Code Playgroud)
我接受了这个错误:
[NULL @ 0000000002f07060]数据包标头未包含在全局extradata,损坏的流或无效的MP4/AVCC比特流中无法打开带有编解码器副本的流0的比特流过滤器h264_mp4toannexb:I
试图将一堆mts文件转换为一个大的mp4文件:
stephan@rechenmonster:/mnt/backupsystem/archive2/Videos/20151222/PRIVATE/AVCHD/BDMV$ ~/bin/ffmpeg-git-20160817-64bit-static/ffmpeg -v info -f concat -i <(find STREAM -name '*' -printf "file '$PWD/%p'\n") -deinterlace -r 25 -s hd720 -c:v libx264 -crf 23 -acodec copy -strict -2 ~/tmp/Videos/20151222.mp4
ffmpeg version N-81364-gf85842b-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 5.4.1 (Debian 5.4.1-1) 20160803
configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libwebp --enable-libspeex --enable-libvorbis --enable-libvpx --enable-libfreetype --enable-fontconfig --enable-libxvid --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvo-amrwbenc --enable-gray --enable-libopenjpeg --enable-libopus --enable-libass --enable-gnutls --enable-libvidstab --enable-libsoxr --enable-frei0r --enable-libfribidi --disable-indev=sndio --disable-outdev=sndio --enable-librtmp --enable-libmfx --enable-libzimg --cc=gcc-5 …Run Code Online (Sandbox Code Playgroud)