media 相关问题

媒体是用于存储和传递信息或数据的存储和传输通道或工具。

/Wordpress 中的 wp-content 页面正在被索引为其自己的页面

我在 WordPress 中收到了数十个不需要的索引页面,它们实际上是媒体文件 URL,如下所示: /wp-content/uploads/2024/11/Ellipse-78 我在 robots.txt 中添加了一条规则,但我不确定......

回答 1 投票 0

C# 自动全屏播放视频

我有一个简单的表单,可以全屏启动 mp4 无声视频,不幸的是我无法做到这一点。我的表单由 axWindowsMediaPlayer 控件和单击时的按钮组成

回答 1 投票 0

从媒体流存储 mp3

我一直在使用 Realtime API 和 Twilio for python 示例,这里提到:https://www.twilio.com/en-us/blog/voice-ai-assistant-openai-realtime-api-python 我基本上想存储一个...

回答 1 投票 0

图像不会出现在页面上,即使它们已经在数据库中(Django)

我尝试学习如何部署我的 django 项目。 我有一个表单,用户可以在其中上传他的图像。该图像是 Recipe 模型的 ImageField 的内容。 上传过程按预期进行,但是

回答 1 投票 0

如何在 django-heroku 中部署媒体文件?

我正在尝试在heroku上部署django应用程序。我目前使用 django-heroku 包作为标准设置。 在我的模型下,一些使用 ImageField 上传的媒体文件,我想要...

回答 4 投票 0

Meta /media_publish 返回 500 未知错误

我通过 https://graph.facebook.com/v21.0 使用 Instagram Graph API 在 Instagram 上发布图像和视频。发布图像没有问题,但我在

回答 1 投票 0

使用ffmpeg API连续播放m3u8流失败

我正在开发一个嵌入式Linux系统(5.10.24),我想在其中使用FFMPEG API播放m3u8音频流。 这是我的代码。 #包括 #包括 #包括 我正在开发一个嵌入式Linux系统(5.10.24),我想在其中使用FFMPEG API播放m3u8音频流。 这是我的代码。 #include <stdio.h> #include <stdbool.h> #include <alsa/asoundlib.h> #include <libswresample/swresample.h> #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libswscale/swscale.h> int init_pcm_play(snd_pcm_t **playback_handle,snd_pcm_uframes_t chunk_size,unsigned int rate,int bits_per_sample,int channels) { snd_pcm_hw_params_t *hw_params; snd_pcm_format_t format; //1. openPCM, if (0 > snd_pcm_open(playback_handle, "default", SND_PCM_STREAM_PLAYBACK, 0)) { printf("snd_pcm_open err\n"); return -1; } //2. snd_pcm_hw_params_t if(0 > snd_pcm_hw_params_malloc (&hw_params)) { printf("snd_pcm_hw_params_malloc err\n"); return -1; } //3. hw_params if(0 > snd_pcm_hw_params_any (*playback_handle, hw_params)) { printf("snd_pcm_hw_params_any err\n"); return -1; } //4. if (0 > snd_pcm_hw_params_set_access (*playback_handle, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED)) { printf("snd_pcm_hw_params_any err\n"); return -1; } //5. SND_PCM_FORMAT_U8,8 if(8 == bits_per_sample) { format = SND_PCM_FORMAT_U8; } if(16 == bits_per_sample) { format = SND_PCM_FORMAT_S16_LE; } if (0 > snd_pcm_hw_params_set_format (*playback_handle, hw_params, format)) { printf("snd_pcm_hw_params_set_format err\n"); return -1; } //6. if (0 > snd_pcm_hw_params_set_rate_near (*playback_handle, hw_params, &rate, 0)) { printf("snd_pcm_hw_params_set_rate_near err\n"); return -1; } //7. if (0 > snd_pcm_hw_params_set_channels(*playback_handle, hw_params, 2)) { printf("snd_pcm_hw_params_set_channels err\n"); return -1; } //8. set hw_params if (0 > snd_pcm_hw_params (*playback_handle, hw_params)) { printf("snd_pcm_hw_params err\n"); return -1; } snd_pcm_hw_params_get_period_size(hw_params, &chunk_size, 0); snd_pcm_hw_params_free (hw_params); return 0; } int main(int argc, char *argv[]) { AVFormatContext *pFormatCtx = NULL; //for opening multi-media file int audioStream = -1; AVCodecContext *pCodecCtx = NULL; AVCodec *pCodec = NULL; // the codecer AVFrame *pFrame = NULL; AVPacket *packet; uint8_t *out_buffer; struct SwrContext *au_convert_ctx; snd_pcm_t *playback_handle; int bits_per_sample = 0; if (avformat_open_input(&pFormatCtx, argv[1], NULL, NULL) != 0) { printf("Failed to open video file!"); return -1; // Couldn't open file } if(avformat_find_stream_info(pFormatCtx,NULL)<0) { printf("Failed to find stream info.\n"); return -1; } audioStream = av_find_best_stream(pFormatCtx, AVMEDIA_TYPE_AUDIO, -1, -1, NULL, 0); if (audioStream == -1) { printf("Din't find a video stream!"); return -1;// Didn't find a video stream } av_dump_format(pFormatCtx, audioStream, NULL, false); // Find the decoder for the video stream pCodec = avcodec_find_decoder(pFormatCtx->streams[audioStream]->codecpar->codec_id); if (pCodec == NULL) { printf("Unsupported codec!\n"); return -1; // Codec not found } // Copy context pCodecCtx = avcodec_alloc_context3(pCodec); AVCodecParameters *pCodecParam = pFormatCtx->streams[audioStream]->codecpar; if (avcodec_parameters_to_context(pCodecCtx, pCodecParam) < 0) { printf("Failed to set codec params\n"); return -1; } // Open codec if (avcodec_open2(pCodecCtx, pCodec, NULL) < 0) { printf("Failed to open decoder!\n"); return -1; // Could not open codec } packet = av_packet_alloc(); pFrame = av_frame_alloc(); uint64_t iInputLayout = av_get_default_channel_layout(pCodecCtx->channels); enum AVSampleFormat eInputSampleFormat = pCodecCtx->sample_fmt; int iInputSampleRate = pCodecCtx->sample_rate; uint64_t iOutputLayout = av_get_default_channel_layout(pCodecCtx->channels); int iOutputChans = pCodecCtx->channels; enum AVSampleFormat eOutputSampleFormat = AV_SAMPLE_FMT_S16; int iOutputSampleRate = pCodecCtx->sample_rate; au_convert_ctx = swr_alloc_set_opts(NULL,iOutputLayout, eOutputSampleFormat, iOutputSampleRate, iInputLayout,eInputSampleFormat, iInputSampleRate, 0, NULL); swr_init(au_convert_ctx); int iConvertLineSize = 0; int iConvertBuffSize = av_samples_get_buffer_size(&iConvertLineSize, iOutputChans, pCodecCtx->frame_size, eOutputSampleFormat, 0); printf("ochans: %d, ifrmsmp: %d, osfmt: %d, cbufsz: %d\n", iOutputChans, pCodecCtx->frame_size, eOutputSampleFormat, iConvertBuffSize); out_buffer = (uint8_t *) av_malloc(iConvertBuffSize); if(eOutputSampleFormat == AV_SAMPLE_FMT_S16 ) { bits_per_sample = 16; } /*** alsa handle ***/ init_pcm_play(&playback_handle,256, iOutputSampleRate,bits_per_sample,2); if (0 > snd_pcm_prepare (playback_handle)) { printf("snd_pcm_prepare err\n"); return -1; } while (av_read_frame(pFormatCtx, packet) >= 0) { if (packet->stream_index == audioStream) { avcodec_send_packet(pCodecCtx, packet); while (avcodec_receive_frame(pCodecCtx, pFrame) == 0) { int outframes = swr_convert(au_convert_ctx, &out_buffer, pCodecCtx->frame_size, (const uint8_t **) pFrame->data, pFrame->nb_samples); // 转换音频 snd_pcm_writei(playback_handle, out_buffer, outframes); av_frame_unref(pFrame); } } av_packet_unref(packet); } swr_free(&au_convert_ctx); snd_pcm_close(playback_handle); av_freep(&out_buffer); return 0; } 当我运行它时,我得到以下输出。 ./ffmpeg_test http://live.ximalaya.com/radio-first-page-app/live/2730/64.m3 u8 [hls @ 0x21a8020] Skip ('#EXT-X-VERSION:3') [hls @ 0x21a8020] Opening 'http://broadcast.tx.xmcdn.com/live/2730_64_241104_000015_2186.aac' for reading [hls @ 0x21a8020] Opening 'http://broadcast.tx.xmcdn.com/live/2730_64_241104_000015_2187.aac' for reading Input #0, hls, from '(null)': Duration: N/A, bitrate: N/A Program 0 Metadata: variant_bitrate : 0 Stream #0:0: Audio: aac (HE-AAC), 44100 Hz, stereo, fltp Metadata: variant_bitrate : 0 [http @ 0x21b7ba0] Opening 'http://broadcast.tx.xmcdn.com/live/2730_64_241104_000015_2188.aac' for reading [hls @ 0x21a8020] Skip ('#EXT-X-VERSION:3') [http @ 0x21d4c20] Opening 'http://broadcast.tx.xmcdn.com/live/2730_64_241104_000015_2189.aac' for reading 一开始可以播放音频,直到第二次Opening http://...发生。 如何使其能够连续播放m3u8音频流? 我找到了代码的修复程序,使其能够连续播放直播流。 需要添加以下代码 rc = snd_pcm_writei(playback_handle, out_buffer2, outframes); + if (rc < 0) { + snd_pcm_prepare(playback_handle); + } 也就是说,流媒体播放过程中出现错误,需要恢复ALSA错误。 现在可以连续播放直播了,但是我遇到了另一个问题:链接更改时会出现轻微的中断,如下, [http @ 0x6eaba0] Opening 'http://broadcast.tx.xmcdn.com/live/2730_64_241107_000014_1e5b.aac' for reading ALSA lib pcm.c:8675:(snd_pcm_recover) underrun occurred [http @ 0x7665d0] Opening 'http://live.ximalaya.com/radio-first-page-app/live/2730/64.m3u8' for reading [hls @ 0x6db020] Skip ('#EXT-X-VERSION:3') [http @ 0x707c40] Opening 'http://broadcast.tx.xmcdn.com/live/2730_64_241107_000014_1e5c.aac' for reading ALSA lib pcm.c:8675:(snd_pcm_recover) underrun occurred [http @ 0x7665d0] Opening 'http://live.ximalaya.com/radio-first-page-app/live/2730/64.m3u8' for reading [hls @ 0x6db020] Skip ('#EXT-X-VERSION:3') [http @ 0x6eaba0] Opening 'http://broadcast.tx.xmcdn.com/live/2730_64_241107_000014_1e5d.aac' for reading ALSA lib pcm.c:8675:(snd_pcm_recover) underrun occurred 我的缓冲区/周期设置似乎有问题,设置正确的值是多少???

回答 1 投票 0

从 Javascript 更改媒体特定 CSS 属性

我有一个CSS属性(字体),我需要能够从Javascript(下拉菜单)更改它。但是,这种字体只能在打印时使用(@media print)。 所以,javascript 不能只是改变...

回答 4 投票 0

Laravel - 在 Spatie 中发布供应商类 Spatie\MediaLibrary\Models\Media 以使用 MongoDB 进行配置

这里我在 Spatie\MediaLibrary\Models\Media 路径有一个 Media 类。它正在使用此代码创建 PDO 问题。 Media 类扩展 Model 实现 Responsable、Htmlable 所以我在那里尝试了这个...

回答 1 投票 0

如何将流式rtsp媒体嵌入到html5页面中

我有一个通过 rtsp 发送的安全摄像头,我可以在 vlc 播放器上捕获它,但我想将其嵌入到我的网页中。我一直在寻找如何做到这一点几个小时,但未能找到......

回答 2 投票 0

如何在新的 Android API 33 中对 HE-AAC V1 中的音频 AAC 进行编码

android api 33 在 android.media.MediaFormat 中添加新字段 链接: https://developer.android.com/sdk/api_diff/33/changes/android.media.MediaFormat https://developer.android.com/reference/android/media/

回答 1 投票 0

在 Chrome 和 Safari 上从 CDN (S3) 获取和下载图像时出错

我有一个 fetch 函数,应该从 URL (S3 CDN) 下载媒体文件。 它在 Firefox 上完美运行,但在 Chrome 和 Safari 上下载图像(例如 .png)时会导致 CORS 错误。

回答 1 投票 0

读取媒体音频时出现问题的应用音乐(播放列表未出现)

我遵循了本教程:https://www.youtube.com/watch?v=1D1Jo1sLBMo&t=320s&ab_channel=EasyTuto 但我无法获取我的播放列表或授权请求,但在 Android 13 上我做了 t...

回答 1 投票 0

Drupal 媒体文件自动被删除

目前我们面临一个问题,即我们的媒体文件会在随机间隔后自动从托管文件夹中删除。 例如,媒体信息及其元仍然存在,但其作用...

回答 1 投票 0

Django 文件上传不起作用:媒体文件丢失和完整路径问题

我正在开发一个 Django 项目,我试图处理文件上传,但遇到了一些问题。上传的文件丢失,并且我没有媒体文件的完整路径。这里是...

回答 1 投票 0

使用dustynv/deepstream:r35.4.1时GStreamer Nvidia插件错误“文件太短”

我正在为我拥有的 GStreamer 应用程序创建一个 Dockerfile。我正在使用以下图像: 来自dustynv/deepstream:r35.4.1 我使用的硬件:Jetson AGX ORIN。 我有以下 tegra 版本:R...

回答 1 投票 0

如何使用 Modelica.Media.Water 库查找饱和蒸汽密度?

对于大气压(约101420 Pa)下的液态水,我想使用Modelica.Media.Water libra确定相应的饱和蒸汽密度(直接穿过Pv曲线)...

回答 1 投票 0

GStreamer 中具有定时录制管道的多线程应用程序

我正在尝试构建一个可以记录特定持续时间(例如 5 秒)的管道,然后停止进程并优雅地进行清理。为此,我在一个单独的线程中设置一个计时器,

回答 1 投票 0

在 Android 中使用过期网址播放媒体文件

我有一个 url 列表,将在 5 分钟后过期,我想从这些 url 中创建一个播放列表。问题是每个媒体的时长都超过 5 分钟。我想知道我怎么可能做到这一点? ...

回答 1 投票 0

单击 Django 中 get api 中的图像 url 时出现页面未找到错误

我有一个使用 Django Rest Framework 构建的简单 get api。它从模型菜单中获取所有食物。它由图像字段组成。 API 响应成功,我收到一个 i...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.