簡體   English   中英

視頻JS中的手機上ffmpeg編碼的mp4文件錯誤

[英]ffmpeg recoded mp4 files error on mobiles in Video JS

我們正在使用FFMPEG將嚴重的.flv文件轉換為MP4。 這些年齡至少10歲。 那時,所有內容都使用Adobe Premiere的早期版本進行渲染。

在桌面瀏覽器上,所有文件都可以正常工作和流式傳輸(...觀看它們就像回到了一個世紀!)

但是,當在移動設備(Android和ios)上的同一頁面上請求視頻時,Video JS甚至都不會顯示。 也許編解碼器太舊了,但是我想知道用此行轉換它們時是否還有其他原因:

for i in *.flv; do ffmpeg -i "$i" "${i%.*}.mp4"; done

如果不是,是否有可能在Video JS中檢測到此問題,因此我們可以顯示視頻僅在台式機上可見的提示?

希望這里的人對此有所了解!

根據llogan的要求添加

ffmpeg version N-78967-gbaec6d8 Copyright (c) 2000-2016 the FFmpeg developers   built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-4)   configuration: --prefix=/root/ffmpeg_build
--extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags=-L/root/ffmpeg_build/lib --bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265   libavutil      55. 19.100 / 55. 19.100   libavcodec     57. 28.100 / 57. 28.100   libavformat    57. 28.100 / 57. 28.100   libavdevice    57.  0.101 / 57.  0.101   libavfilter     6. 39.102 / 
6. 39.102   libswscale      4.  0.100 /  4.  0.100   libswresample   2.  0.101 /  2.  0.101   libpostproc    54.  0.100 / 54.  0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'a_4293_06.mp4':   Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.28.100   Duration: 00:01:40.10, start: 0.023220, bitrate: 492 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 320x240, 376 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 123 kb/s (default)
    Metadata:
      handler_name    : SoundHandler At least one output file must be specified

感謝@llogan的評論,我可以自己回答這個問題。

首先,我將ffmpeg升級到最新版本,然后對-movflags+ faststart進行了一些研究。

我找到了2015年的一篇文章,其中包含有關如何將.flv轉換為.mp4的詳細信息( https://addpipe.com/blog/flv-to-mp4/

因此,為了使新的.mp4文件與移動設備兼容,您需要添加配置文件和級別,如下所示:

批量轉換

for i in *.flv; do ffmpeg -y  -i "$i" -movflags +faststart -profile:v baseline -level 3.0 "${i%.*}.mp4"; done 

對於單個文件

ffmpeg -i filename.flv -movflags +faststart -profile:v baseline -level 3.0 filename.mp4

然后終端在轉換時顯示以下行:

開始第二遍:將moov原子移動到文件的開頭

這是必需的,但是-profile-level的添加實際上使視頻在移動設備上可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM