你要求什么

你要求什么

我正在使用卡拉 OK 创作程序 (karafun),它允许我选择分辨率和 FPS,但它将视频输出为原始格式,将音频输出为 IMA ADPCM,并将其放置在 AVI 容器中。

PS C:\bin> .\ffprobe.exe -i '.\JEZ-092 - Megan - Thot.avi'
[avi @ 0000026820d002c0] non-interleaved AVI
Input #0, avi, from '.\JEZ-092 - Megan - Thot.avi':
  Duration: 00:03:10.30, start: 0.000000, bitrate: 885289 kb/s
  Stream #0:0: Video: rawvideo, bgr24, 1280x720, 884852 kb/s, 40 fps, 40 tbr, 40 tbn
  Stream #0:1: Audio: adpcm_ima_wav ([17][0][0][0] / 0x0011), 44100 Hz, 2 channels, s16p, 352 kb/s

我想将此内容上传到 youtube,同时保持当前分辨率和 FPS。完整的 ffmpeg 命令行是什么,它将视频编码为 h.264,音频编码为 mp3,然后将其放在 mp4 容器中?在您的回复中,对于输入路径,您只需键入 INPUT_FILE。您不必使用我的文件名。

谢谢

答案1

YouTube 并不真正关心您提供什么,因此建议提供最高质量且上传不会太大或烦人的内容。

你要求什么

MP4 中的 H.264 + MP3:

ffmpeg -i input.avi -c:v libx264 -crf 18 -preset slow -c:a libmp3lame -q:a 2 output.mp4
  • 您的本地播放器/设备/浏览器不会喜欢该文件,但 YouTube 会喜欢,并且 YouTube 版本可以在任何设备上使用。如果您希望它在任何地方都能使用,请添加-vf format=yuv420p

  • 如果编码速度太慢,请使用更快的-preset

  • FFmpeg 维基:H.264FFmpeg 维基:MP3

我会做什么

Matroska 中的 HEVC + Opus:

ffmpeg -i input.avi -c:v libx265 -crf 22 -preset slow -c:a libopus -b:a 192k output.mkv
  • libx265(或 libx264rgb)而不是 libx264 来保留输入的 RGB 色彩空间并让 YouTube 处理 RGB 到 YUV 色彩空间的转换(他们可能会使用不同的东西进行色彩空间转换,所以看起来可能更好,但我从来没有费心去比较)。
  • 如果 libx265 太慢,请使用更快的版本-preset,或者改用 libx264rgb 或 libx264。
  • Opus 比 MP3 更高效。或者-c:a flac如果你想要无损压缩,可以使用 Opus,但文件会更大。
  • FFmpeg 维基百科:HEVC氢音频:Opus

答案2

步骤 1:从 AVI 获取视频并转码为 video.h264

ffmpeg -i input.avi -c:v libx264 -crf 1  -b:v 884852k -maxrate  884852K -bufsize 8M   -movflags -faststart  -preset veryfast -an only_video.mp4

步骤 2:从 AVI 获取音频并转换为 mp3 文件

 ffmpeg -i input.avi -vn only_audio.mp3

步骤 3:MP4 文件中的视频和音频

ffmpeg -i only_video.mp4 -c:a mp3 -i only_audio.flac  -c copy -map 0:v -map 1:a:0  -strict -2 -sn -dn -map_metadata -1 -map_chapters -1  -movflags faststart final_file.mp4  

注意:YouTube 将按照他们的标准对您的视频进行编码,因此,如果您直接上传 final_file.mp4 或 '.\JEZ-092 - Megan - Thot.avi',效果将是相同的。

相关内容