FFMPEG mp4 з http потокового файлу m3u8? [зачинено]


85

Як я можу витягти mp4 з http-потокового файлу m3u8? Я спробував цю команду нижче:

ffmpeg -i {input file} -f rawvideo -bsf h264_mp4toannexb -vcodec copy out.mp4

Я сприйняв цю помилку:

[NULL @ 0000000002f07060] Заголовок пакета не міститься в глобальних екстраданих, пошкодженому потоці або недійсному потоці бітів MP4 / AVCC Не вдалося відкрити фільтр потоку бітів h264_mp4toannexb для потоку 0 із копією кодека: I


1
Ви можете використовувати це розширення chrome.google.com/webstore/detail/hls-downloader/…
regisbsb

Відповіді:


195

Ваша команда абсолютно неправильна. Формат виводу не є, rawvideoі вам не потрібен фільтр потоку бітів, h264_mp4toannexbякий використовується, коли ви хочете перетворити вміщений файл h264у mp4у Annex Bформат, який використовується, MPEG-TSнаприклад. Натомість ви хочете використовувати aac_adtstoascдля AACпотоків.

ffmpeg -i http://.../playlist.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4

Привіт, Ця відповідь допомогла мені записати пряму трансляцію з URL-адреси m3u8, і відео також зберігається у output.mp4. Моє питання полягає в тому, чи можемо ми вказати час у секундах / хвилинах у цій команді, щоб збережене відео відповідало вказаному часу. В даний час він продовжує запис і зупиняється, поки я не натисну q на консолі. Попереднє
спасибі

1
@Mayuri -t <time>після введення в s або hms.ms
aergistal

Гей, чи може хто-небудь допомогти мені отримати хід завантаження за тією ж справою
Шивам Пармар,

17

Відповідь Aergistal працює, але я виявив, що перетворення в mp4 може призвести до поломки деяких відео m3u8. Якщо ви застрягли у цій проблемі, спробуйте перетворити їх на mkv та перетворити їх на mp4 пізніше.


32
Я виявив, що це ffmpeg -i http://...m3u8 -c copy live.mkvпрацює дуже добре. Просто якщо хтось прийде і прочитає це.
rwenz3l

@blackmiacool: Як можна досягти цього програмно?
Vineesh TP

.tsтакож добре працює тихо для деяких потоків
Honza R

1
Якщо у вас є адреса https: //, змініть її на http: // інакше ви отримаєте помилку "Помилка HTTP 403 заборонена" ... Для перетворення MKV у MP4 просто використовуйте, ffmpeg -i file.mkv file.mp4але навіщо це робити?
Еріх

3
У випадку локального m3u8файлу, мені також довелося додати білий список спереду, наприклад:ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto -i 02.m3u8 -c copy 02.mkv
Білл Коціас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.