小编llo*_*gan的帖子

FFMPEG(libx264)"高度不能被2整除"

我正在尝试使用libx264编解码器使用FFMPEG从一组帧中编码.mp4视频.

这是我正在运行的命令:

/usr/local/bin/ffmpeg -r 24 -i frame_%05d.jpg -vcodec libx264 -y -an video.mp4
Run Code Online (Sandbox Code Playgroud)

我有时会收到以下错误:

[libx264 @ 0xa3b85a0] height not divisible by 2 (520x369)
Run Code Online (Sandbox Code Playgroud)

在稍微搜索之后,似乎问题与缩放算法有关,可以通过添加-vf参数来修复.

但是,在我的情况下,我不想做任何缩放.理想情况下,我希望保持尺寸与框架完全相同.有什么建议?是否存在h264强制执行的某种宽高比?

ffmpeg h.264 libx264

162
推荐指数
5
解决办法
7万
查看次数

FFmpeg支持的所有编解码器和格式是什么?

我需要一个FFmpeg支持的编解码器和格式列表.我在哪里可以找到它?

video ffmpeg

116
推荐指数
4
解决办法
17万
查看次数

在ffmpeg中添加静音

我正在尝试使用ffmpeg将静音音轨添加到MOV文件中.

我创建了一个比视频更长的静音音轨,并打算在ffmpeg中使用-shortest选项.

使用SoX v14.3.1,我运行它来生成一个wav文件:

sox -n -r 44100 -b 16 -c 2 -L silence.wav trim 0.0 60.000

# -n  = Sox's null file
# -r = sample rate 
# -b = bits per sample
# -c = num of channels
# -L = little endian
# filename
# trim - is an effect, args start and length.
Run Code Online (Sandbox Code Playgroud)

我的基本ffmpeg命令如下所示:

ffmpeg -shortest \
-i silence.wav -acodec pcm_s16le \
-i vid_no_sound.mov -vcodec copy vid_with_sound.mov
Run Code Online (Sandbox Code Playgroud)

结果是:

ffmpeg version 0.11.1 Copyright (c) 2000-2012 the FFmpeg …
Run Code Online (Sandbox Code Playgroud)

ffmpeg

38
推荐指数
4
解决办法
5万
查看次数

如何使用FFMPEG分割视频,以便每个块以关键帧开始?

我们需要将大型实时WMV视频源分成大小相同的小块.我们创建了一个可以正常工作的脚本,除了一件事:视频块不是以关键帧开始的,所以当播放大多数视频块时,它们不显示任何图像,直到原始视频的关键帧最终到达.

有没有办法让ffmpeg让输出视频以关键帧开始?

以下是我们的命令行现在的样子:

ffmpeg.exe -i "C:\test.wmv" -ss 00:00:00 -t 00:00:05 -acodec copy -vcodec copy -async 1 -y  "0000.wmv"
ffmpeg.exe -i "C:\test.wmv" -ss 00:00:05 -t 00:00:05 -acodec copy -vcodec copy -async 1 -y  "0001.wmv"
Run Code Online (Sandbox Code Playgroud)

等等...

video split ffmpeg keyframe

33
推荐指数
5
解决办法
5万
查看次数

ffmpeg中的视频时间刻度,时基或时间戳是什么?

网上似乎没有任何解释.人们谈论他们很多.我只是想知道它们是什么以及为什么它们具有重要意义.使用-video_track_timescale,我该如何确定它的数字?是随机的吗?应该是0吗?

video ffmpeg codec

33
推荐指数
1
解决办法
1万
查看次数

帧数覆盖与FFmpeg

我需要使用ffmpeg for windows将帧编号覆盖到视频文件的每个帧.

我成功地drawtext使用以下代码将过滤器的时间码标记覆盖:

ffmpeg -i video.mov -vcodec r210 -vf "drawtext=fontfile=Arial.ttf: timecode='01\:00\:00\:00': r=25: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099" -y output.mov
Run Code Online (Sandbox Code Playgroud)

但是,我需要一个帧号覆盖而不是时间码.任何帮助,将不胜感激.

ffmpeg

30
推荐指数
1
解决办法
2万
查看次数

未知编码器'libfaac'

我正在使用carrierwave-video在rails应用程序上使用我的ruby上传视频.但是在尝试编码视频时我遇到了这个问题:

Unknown encoder 'libfaac'

Errors: no output file created.
Run Code Online (Sandbox Code Playgroud)

我尝试过:

sudo apt-get install libfaac-dev
Run Code Online (Sandbox Code Playgroud)

但我得到了同样的错误.

更新:

编译ffmpeg后,我得到同样的错误:

Metadata:
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp42isomavc1
    creation_time   : 2011-10-13 18:54:50
    encoder         : HandBrake 0.9.5 2011010300
  Duration: 00:06:43.28, start: 0.000000, bitrate: 380 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 960x600 [SAR 1:1 DAR 8:5], 279 kb/s, 9.25 fps, 25 tbr, 90k tbn, 180k tbc
    Metadata:
      creation_time   : 2011-10-13 18:54:50
      handler_name    : 
    Stream #0:1(eng): Audio: aac …
Run Code Online (Sandbox Code Playgroud)

video ubuntu ffmpeg

25
推荐指数
1
解决办法
5万
查看次数

使用ffmpeg垂直或水平堆叠多个视频?

我有两个相同长度的视频,我想用ffmpeg将它们叠加到一个视频文件中.

我怎样才能做到这一点?

ffmpeg video-processing

17
推荐指数
2
解决办法
2万
查看次数

强制FFMPEG在读取RTSP流时使用TCP协议

ffmpeg从命令行运行(Windows 7,64bit)从RTSP流(我的DVR的第二个频道)获取帧:

ffmpeg  -i "rtsp://xxx.xxx.xxx.xxx:554/user=xxxx&password=xxxx&channel=2&stream=0.sdp" -rtsp_transport tcp -y video.jpg
Run Code Online (Sandbox Code Playgroud)

运行后,等待大约10秒然后我得到:

[rtsp @ 026fd840] UDP timeout, retrying with TCP
Run Code Online (Sandbox Code Playgroud)

经过另一个漫长的等待(2分钟左右),我得到:

[rtsp @ 028dd840] Could not find codec parameters for stream 0 (Video: h264): unspecified size
Run Code Online (Sandbox Code Playgroud)

我在某处读到了我必须强制使用TCP,因为从UDP更改为TCP将无法正常工作.

我不明白为什么-rtsp_transport tcp不工作.

我正在使用ffmpeg version N-62509-g97751e1 built on Apr 17 2014 22:01:31 with gcc 4.8.2 (GCC).

请帮我.谢谢.

tcp ffmpeg rtsp

17
推荐指数
1
解决办法
3万
查看次数

未知解码器“libx264”

ffmpeg从Windows 10 的BtbN启用了 libx264 。这是命令:

ffmpeg -f gdigrab -c:v libx264 -framerate 30 -i title="FiveM" -f flv rtmp://MYSITE.COM/stream/MYSECRETKEY
Run Code Online (Sandbox Code Playgroud)

不幸的是我得到这个输出:

Unknown decoder 'libx264'
Run Code Online (Sandbox Code Playgroud)

ffmpeg libx264

13
推荐指数
1
解决办法
8972
查看次数

标签 统计

ffmpeg ×10

video ×4

libx264 ×2

codec ×1

h.264 ×1

keyframe ×1

rtsp ×1

split ×1

tcp ×1

ubuntu ×1

video-processing ×1