我有一堆适用于手刹的命令行设置,但有时在某些视频上(我不知道为什么)手刹会抛出“内存不足异常”。我想知道我是否可以找到相同的选项键并使用 FFmpeg 来完成,但这似乎并不容易。
FFmpeg 有时要么没有这些选项,要么默认执行某些操作。例如,我不知道如何使用 FFmpeg 进行自定义变形。对我来说非常重要的是,生成的视频将与使用手刹完成的视频一样好。这是Handbrake的线路:
HandBrakeCLI.exe --input "d:\input.mpg" --output "d:\output.mp4" --rate 29.97 --cfr --arate 44.1 --format mp4 --width 1920 --height 1080 --custom-anamorphic --display-width 1920 --keep-display-aspect --modulus 8 --crop 0:0:0:0 --encoder x264 --vb 5200 --aencoder faac --ab 128 --mixdown stereo -x bitrate=5200:vbv-bufsize=5200:vbv-maxrate=5200:level=42:bframes=2:min-keyint=60:keyint=60:ref=4:me=umh:merange=64:subme=7:8x8dct:cabac=1 -v3 -2 -a none
Run Code Online (Sandbox Code Playgroud)
如何将其转换为 FFmpeg 命令?
我浏览了文档,但找不到解决方案。我希望有某种参数可以告诉FFmpeg不要在控制台中显示输出。
我所指的输出在下面给出的屏幕截图中

当我使用 FFMPEG 将视频从 MP4 转换为 M3U8 时,使用以下命令,
ffmpeg -i op.mp4 -b:v 128k -flags -global_header -map 0:0 -map 0:1 -f segment -segment_time 4 -segment_list_size 0 -segment_list op.m3u8 -segment_format mpegts op%05d.ts
Run Code Online (Sandbox Code Playgroud)
我收到以下警告:
Non-monotonous DTS in output stream 0:1; previous: 347527, current: 346508; changing to 347528. This may result in incorrect timestamps in the output file.
Run Code Online (Sandbox Code Playgroud)
M3U8 已生成,但 Quicktime 播放器上仅播放音频。
示例 MP4 和 M3U8 均可在此处获得
所以,我想知道
此错误背后的原因。它是损坏的 mp4 还是转换过程中的问题。m3u8 是可播放的,但不能在 quicktime 上正常播放。只有音频出现,没有视频。
我怎么可能解决这个问题
完整的 FFMPEG 控制台输出:
ffmpeg version git-2013-06-06-c51654f Copyright (c) 2000-2013 …Run Code Online (Sandbox Code Playgroud) 我想知道是否有办法将立体声分成两个单声道 wav 文件。我的第一个猜测是
ffmpeg -threads "16" -i "$2" -map 0:1:1 "$3"
Run Code Online (Sandbox Code Playgroud)
因为我的示例视频具有以下信息:
Audio
ID : 2
Format : AAC
Format/Info : Advanced Audio Codec
Format profile : LC
Codec ID : 40
Duration : 39mn 0s
Bit rate mode : Constant
Bit rate : 256 Kbps
Channel(s) : 2 channels
Channel positions : Front: L R
Run Code Online (Sandbox Code Playgroud)
所以我有一个带有两个通道的音频流,并且想要两个单声道。起初我用 map_channel 尝试了它,但这并没有奏效,相反我收到了一条错误消息:
Syntax error, mapchan usage: [file.stream.channel|-1][:syncfile:syncstream]
Run Code Online (Sandbox Code Playgroud)
所以我用上面提到的代码再次尝试,至少 ffmpeg 做了一些事情,但结果不是我所期望的,而不是将它分解成两个单声道 wav 文件,结果是:
info.system.container = WAVE
info.system.size = 449413166 Bytes
info.system.size = 428.59 MiB …Run Code Online (Sandbox Code Playgroud) 在管道工地工作。我在linux专用服务器上通过ffmpeg运行视频以转换为mp4。
服务器规格:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 2
Core(s) per socket: 4
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 60
Stepping: 3
CPU MHz: 3491.749
BogoMIPS: 6983.49
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 8192K
NUMA node0 CPU(s): 0-7
Run Code Online (Sandbox Code Playgroud)
测试期间的问题是,即使一次只做 4-5 个,服务器负载也会飙升至平均 36 个左右。这只是一个人。我想当它打开时,很多人会同时上传。
似乎ffmpeg试图使用每次转换的所有可用资源。 …
我正在使用 ffmpeg 将音频添加到视频文件中
ffmpeg -i videofile.mp4 -i audiofile.wav output.mp4
Run Code Online (Sandbox Code Playgroud)
但是,如果它比视频长,这会将输出视频文件扩展为音频文件的长度。如果音频文件比视频短,则使用 -shortest 将视频文件缩短。那么是否有一个标志告诉 ffmpeg 将输出视频的长度保持为输入视频的长度?
当文件有更多音轨时,VLC 可以在“音频”>“音轨”下的菜单中显示它们的名称 - 或标题,我不确定术语。
当我重新编码文件时
ffmpeg -i input.mp4 -map 0:0 -map 0:1 -map 0:2 -c:v libx264 -preset slow -profile:v high -crf 17 -c:a copy output.mp4
Run Code Online (Sandbox Code Playgroud)
名称丢失,只出现通用的“Track 1”和“Track 2”。我如何保留它?或者如何设置自定义名称。
命令的输出是这样的:
ffmpeg -ss 0 -i Shades_of_winter_24FPS_x264_5.1_AC3+R128.mp4 -map 0:0 -map 0:1 -map 0:2 -vf "ass=p.ass" -c:v libx264 -preset slow -profile:v high -crf 17 -c:a copy -metadata:s:a:0:0 -language="ble" -metadata:s:a:1 language="bli" -metadata:s:a:0:2 title="bla" -t 6 a.mp4
ffmpeg version 2.3.git-1ace957 Copyright (c) 2000-2014 the FFmpeg developers
built on Jul 26 2014 20:25:06 with gcc 4.8 (Ubuntu …Run Code Online (Sandbox Code Playgroud) I want to concatenate two flv files(downloaded from Youtube.com) by Linux command line tools.
The ffmpeg tutorial is too complicated, so I tried the mencode tutorial.
But I get a empty output. I don't know how to fix the problem.
ffmpeg -i input_1.flvffmpeg version 0.8.1-4:0.8.1-0ubuntu1, Copyright (c) 2000-2011 the Libav developers
built on Mar 22 2012 05:29:10 with gcc 4.6.3
This program is not developed anymore and is only provided for compatibility. Use avconv instead (see Changelog for …Run Code Online (Sandbox Code Playgroud) 我有以下 FFmpeg 设置:
ffmpeg version N-54790-g1816f55-syslint Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 17 2013 21:34:32 with gcc 4.4.7 (GCC) 20120313 (Red Hat 4.4.7-3)
configuration: --prefix=/usr/local/cpffmpeg --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-decoder=liba52 --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-version3 --extra-version=syslint
libavutil 52. 40.100 / 52. 40.100
libavcodec 55. 18.102 / 55. 18.102
libavformat 55. 12.102 / 55. 12.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 81.101 / 3. 81.101
libswscale 2. 4.100 / 2. …Run Code Online (Sandbox Code Playgroud)