在用ffmpeg将视频转换为hls后,新视频没有屏幕,只有音频



我在创建HLS流时遇到问题,有时我创建的视频只有音频,并且显示黑屏这是我在下面的代码

/opt/nodejs/ffmpeg -i "https://******-v1-post-content.s3.us-east-
2.amazonaws.com/104/posts/win/video/item-1615842876280.mov" -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls /tmp/item-1615842876280.m3u8

命令的输出

stderr: ffmpeg version 4.2.3-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'https://*****-v1-post-content.s3.us-east-2.amazonaws.com/104/posts/win/video/item-1615842876280.mov:
Metadata:
major_brand     : qt  
minor_version   : 0
compatible_brands: qt  
creation_time   : 2021-03-13T08:49:02.000000Z
Duration: 00:00:03.50, start: 0.000000, bitrate: 7984 kb/s
Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080, 7881 kb/s, 29.97 fps, 29.97 tbr, 600 tbn, 600 tbc (default)
Metadata:
rotate          : 90
creation_time   : 2021-03-13T08:49:02.000000Z
handler_name    : Core Media Video
encoder         : HEVC
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 83 kb/s (default)
Metadata:
creation_time   : 2021-03-13T08:49:02.000000Z
handler_name    : Core Media Audio
[hls @ 0x6684ec0] Opening '/tmp/item-16158428762800.ts' for writing
Output #0, hls, to '/tmp/item-1615842876280.m3u8':
Metadata:
major_brand     : qt  
minor_version   : 0
compatible_brands: qt  
encoder         : Lavf58.29.100
Stream #0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709), 1920x1080, q=2-31, 7881 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 600 tbc (default)
Metadata:
rotate          : 90
creation_time   : 2021-03-13T08:49:02.000000Z
handler_name    : Core Media Video
encoder         : HEVC
Side data:
displaymatrix: rotation of -90.00 degrees
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 83 kb/s (default)
Metadata:
creation_time   : 2021-03-13T08:49:02.000000Z
handler_name    : Core Media Audio
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Stream #0:1 -> #0:1 (copy)

谢谢!

Sevada

我也遇到过这个问题。当尝试使用"-codec:copy"命令复制HEVC视频时,这种情况似乎经常发生。

我找到的一个解决方法是只复制音频流,并通过将"-cocode:copy"替换为"-cocode:a copy"来对视频流进行转码。尽管这种方法可能更加耗时和资源密集,但它仍然有效。

我不是FFmpeg的专家,所以如果有人能详细解释这个问题,那就太好了。

最新更新